【发布时间】:2012-06-05 21:42:12
【问题描述】:
我在某处读到 99% 的时间不需要使用光标。
但我想不出在以下情况下除了使用光标之外的任何其他方式。
Select t.flag
From Dual t;
假设这会返回 4 行 'Y' 或 'N'。我希望该过程在找到'Y' 时触发某些东西。我通常声明一个游标并循环直到%NOTFOUND。请告诉我是否有更好的方法。
另外,如果您有任何想法,什么时候是使用光标的最佳时间?
编辑:不是插入标志,而是如果我想做 “如果 'Y' 然后触发某些东西”?
【问题讨论】:
-
在您的查询中添加
where t.flag = 'Y'? ...INSERT INTO tbl_flag (<column list>) VALUES (<values>) WHERE (SELECT COUNT(*) FROM Dual t where t.flag = 'Y') > 1 -
MySQL、T-SQL 和
dual/%NOTFOUND(暗示Oracle)? -
是的,它是甲骨文。对此感到抱歉...正如我编辑过的那样,如果 Select 查询具有“Y”,我会尝试触发
标签: oracle stored-procedures plsql cursor