PL/SQL中的DML

針對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;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章