希望這有助於:
創建示例表/數據:
create table us_census
(state varchar2(10),
county_population number,
county varchar2(10)
);
insert into us_census VALUES ('AK',100,'county1');
insert into us_census VALUES ('AK',150,'county2');
insert into us_census VALUES ('AL',200,'county3');
insert into us_census VALUES ('AL',100,'county4');
採樣功能:
CREATE FUNCTION get_population_per_state(p_state IN varchar2)
RETURN NUMBER
IS population NUMBER;
BEGIN
SELECT sum(county_population)
INTO population
FROM us_census
WHERE state = p_state --for example: 'AK'
GROUP BY state;
RETURN(population);
END;
/
樣品執行:
declare v_population number;
BEGIN
for r in (select distinct state from us_census)
loop
select get_population_per_state(r.state) into v_population from dual;
DBMS_OUTPUT.PUT_LINE('State: ' || r.state || ' Population :' ||v_population);
end loop;
END;
示例結果:
State: AK Population :250
State: AL Population :300
請給我們您的SQL。謝謝。 – anonyXmous
對不起,我不能,因爲它可能有CBI。不過,我想我可能會得到答案。 SQL Developer允許你編寫程序,正確嗎?如果我能弄清楚如何編寫程序,那麼我想我已經解決了我的問題 –