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;


你可能感兴趣的:(PL/SQL)