針對ORACLE PL/SQL中的常見的DML語句的屬性做一些說明
隱式遊標
隱式遊標的屬性
SQL%FOUND 有則返回true
SQL%NOTFOUND 無則返回true
SQL%ROWCOUNT 受影響的行數
SQL%ISOPEN 總是對隱式遊標返回false
RETURNING 的使用
實例:
... 變量定義...
for i in (select * from table_a)
loop
update table_a
set b = 4
where id = 1;
returning id,a,b,c into v_id,v_a,v_b,v_c;
end loop;
update、insert 中 row的使用
DECLARE
my_book books%ROWTYPE;
BEGIN
my_book.id := 1;
my_book.name := 'PL/SQL';
my_book.isbn := '12321-1232';
INSERT INTO books VALUES my_book;
UPDATE books SET ROW = my_book WHERE isbn = my_book.isbn;
END;
where currnet of
遊標中使用update 或者delete 時,可以使用遊標名(非記錄名)來作爲where條件
update table_name
set set_clause
where current of cursor_name;
delete
from
where current fo cursor_name;