循环遍历Oracle PL / SQL中的表
发布时间:2020-12-12 15:14:16 所属栏目:百科 来源:网络整理
导读:我已经完成了SQL查询,但没有做任何使用循环的程序编写,所以我在这里迷路了.我正在使用Oracle SQL Developer.可以在SQL或PL / SQL中完成 我有一张类似这样的表: Person_ID Score Name Game_ID1 10 jack 11 20 jack 22 15 carl 12 3 carl 34 17 steve 1 我怎
我已经完成了SQL查询,但没有做任何使用循环的程序编写,所以我在这里迷路了.我正在使用Oracle SQL Developer.可以在SQL或PL / SQL中完成
我有一张类似这样的表: Person_ID Score Name Game_ID 1 10 jack 1 1 20 jack 2 2 15 carl 1 2 3 carl 3 4 17 steve 1 我怎样才能遍历这张桌子,以便我可以获得所有比赛的球员总得分.结果将是这样的: Person_ID Score Name 1 30 jack 2 18 carl 4 17 steve 另外还有额外的功劳如果我只想抓住说游戏1 2? 编辑:很抱歉没有清楚,但我确实需要循环,即使没有它可以完成. 发布后的解决方案此过程列出给定game_id的分数.如果省略参数,所有游戏将被总结: create or replace procedure player_scores(i_game_id number default null) as begin for o in (select person_id,name,sum(score) score from games where game_id = nvl(i_game_id,game_id) group by person_id,name) loop dbms_output.put_line(o.person_id||' '||o.name||' '||o.score); end loop; end player_scores; 以前的方案: 你不需要那个程序,只需要简单的查询: select person_id,sum(score) from your_table where game_id in (1,2) group by person_id,name (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |