在oracle9i之前,为了处理select语句返回的多行数据,必须使用显示游标,但是从9i开始,可以使用显示游标处理多行数据,也可以使用select...bulk collect into语句处理多行数据。
PL/SQL包含隐含游标和显示游标,隐含游标用于处理select into和dml语句,而显示游标则专门用于处理select语句返回的多行数据。
定义参数游标时,游标参数只能指定数据类型,而不能指定长度;定义参数游标时,一定要在游标子查询的where子句中引用该参数,否则失去了定义参数游标的意义。
使用游标更新或删除数据:
如要通过游标更新或删除数据,在定义游标的时候需带有for update子句。
语法:cursor corsor_ name(param datatype)
is select_statement
for update[of column] [nowait]
for update用于在游标结果集上加行共享锁。
在提取了游标数据之后,为了更新或删除当前游标行数据,必须在update或delete语句中引用where current of子句。
语法如下:
update table_naem set column=...where current of cursor_name;
delete table_name where current of cursor_name;
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞0
添加新评论0 条评论