我有一个存储过程,它使用
从数据库中选择数据DECLARE cursor1 CURSOR WITH RETURN for SELECT...
OPEN cursor1
此时我想删除并更改同一存储过程中结果集中的记录。我无法在选择中进行这些更改。
可以这样做吗?
我见过
DELETE WHERE CURRENT OF cursor1
但Data Studio不喜欢语法,并将'OF'作为错误。我相信Data Studio的版本只有几个月的历史。
感谢您提供任何帮助或指导。
答案 0 :(得分:0)
如果不修改表格本身,则无法更改结果集。发布DELETE
或UPDATE
WHERE CURRENT OF
时,您实际上正在删除或更新基础表中的行。
使用WHERE CURRENT OF
意味着循环结果集中的行。请注意,一旦更改了光标位置,新位置将返回给调用者。换句话说,在过程本身中使用结果集之后,需要再次打开游标,以便将结果集返回给调用者。