sqlrowcount
使用虛擬游標來查詢執行操作的結果,如下
--一般執行updateinsertdelete都會有相應的影響行數,此時可以使用虛擬游標來查詢操作結果
updatetable_namesetfield_name='xxx'where...
--執行後,使用
dbms_output.put_line('更新行數為:'||sql%rowcount);
另外:虛擬游標還有
%FOUND表示記錄影響至少為一條
%NOTFOUND表示沒有記錄影響,即無更新
有問題請追問,希望可以幫到你
② SQL查詢語句怎樣限定返回結果集的行數
1、創建測試表,create table test_rows(id number, value varchar(200));
③ oracle中的sql%rowcount是啥意思
你好,這個是oracle的語法
sql%rowcount用於記錄修改的條數,必須放在一個更新或者刪除等修改類語句後面執行,select語句用於查詢的話無法使用,
當你執行多條修改語句時,按照sql%rowcount 之前執行的最後一條語句修改數為准。
④ oracle PLSQL sql%rowcount的幾點疑問
1. v_count1 v_coun2 只是變數而已,後面的number(3)表示精度,該變數可以接收3位數以內的數字 超過則會報錯,一般情況下直接寫number更好一些,反而不容易出現錯誤。
2.sql%rowcount用於記錄修改的條數,就如你在sqlplus下執行delete from之後提示已刪除xx行一樣, 這個參數必須要在一個修改語句和commit之間放置,否則你就得不到正確的修改行數。
例如:
SQL> declare n number;
2 begin
3 insert into test_a select level lv from al connect by level<500;
4 n:=sql%rowcount;
5 commit;
6 dbms_output.put_line(n);
7 end;
8 /
499
PL/SQL procere successfully completed.
SQL> declare n number;
2 begin
3 insert into test_a select level lv from al connect by level<500;
4 commit;
5 n:=sql%rowcount;
6 dbms_output.put_line(n);
7 end;
8 /
0
PL/SQL procere successfully completed.
3.是最後一個select的條數。 要統計所有的,可以使用三個變數接收sql%rowcount,然後相加即可,不過貌似直接select的寫法無法使用sql%rowcount。