綁定變量輸出刪除的行數
在plsql的命令窗口中執行,默認打印出綁定變量的值
SQL> VARIABLE rows_deleted NUMBER
SQL> DECLARE
2 v_id NUMBER:= 11;
4 BEGIN
5 DELETE FROM building WHERE id = v_id;
6 :rows_deleted := SQL%ROWCOUNT;
7 END;
8 /
PL/SQL procedure successfully completed
rows_deleted
---------
0
正常變量無法通過打印方式輸出
SQL> VARIABLE rows_deleted NUMBER
SQL> DECLARE
2 v_id NUMBER:= 11;
4 BEGIN
5 DELETE FROM building WHERE id = v_id;
6 rows_deleted := SQL%ROWCOUNT;
7 END;
8 /
PL/SQL procedure successfully completed
只是提示完成過程執行,這個變量要輸出的話就必須通過dbms_output過程進行輸出才行了。
在sqlplus中執行
SQL> VARIABLE rows_deleted NUMBER
SQL> DECLARE
2 v_id NUMBER := 11;
3 BEGIN
4 DELETE FROM building WHERE id = v_id;
5 :rows_deleted := SQL%ROWCOUNT;
6 END;
7 /
PL/SQL 過程已成功完成。
SQL> print rows_deleted
ROWS_DELETED
------------
0
SQL> DECLARE
2 v_id NUMBER := 11;
3 BEGIN
4 DELETE FROM building WHERE id = v_id;
5 :rows_deleted := SQL%ROWCOUNT;
6 END;
7 /
PL/SQL 過程已成功完成。
SQL> print rows_deleted
ROWS_DELETED
------------
0
如下語句也是在plsql中的命令窗口執行
SQL> VARIABLE rows_deleted NUMBER
SQL> DECLARE
2 TYPE v_id_table_type IS TABLE OF building.id%TYPE;
3 v_id_table v_id_table_type;
4 BEGIN
5 SELECT ID BULK COLLECT INTO v_id_table FROM building WHERE rownum <= 10;
6 :rows_deleted := SQL%ROWCOUNT;
7 END;
8 /
PL/SQL procedure successfully completed
rows_deleted
---------
10
SQL> DECLARE
2 TYPE v_id_table_type IS TABLE OF building.id%TYPE;
3 v_id_table v_id_table_type;
4 BEGIN
5 SELECT ID BULK COLLECT INTO v_id_table FROM building WHERE rownum <= 10;
6 :rows_deleted := SQL%ROWCOUNT;
7 END;
8 /
PL/SQL procedure successfully completed
rows_deleted
---------
10
