只是在旧版本的 Sybase 的触发器中实现某些东西有些头疼,想知道是否有人可以提供帮助。简而言之,我想编写一个触发器,它将为每个受影响的记录调用另一个存储过程(无论是插入、删除还是两者都[更新])。
在 T-SQL (SQL Server) 中执行此操作的一种方法是使用游标,但我在网上找到的游标示例似乎都不能在 Sybase ASA 6.0.4 上运行——它要么不喜欢 T-SQL一般来说,或者它似乎可以编译,但通常什么都不做(即使是病态简单、人为的场景)。
本质上,我想遍历所有“插入”表记录(如果有)和每个Exec MySproc (inserted.keyid),然后遍历所有“已删除”表记录(如果有),然后再为每个一个Exec MySproc (deleted.keyid)。
有没有人有做这种事情的例子,甚至只是在 ASA 6 中使用只读光标?在线手册似乎有一个简单光标的示例,但实际上我无法使该示例真正起作用。我可以将另一个 sproc 展开到触发器中(实际上并没有那么复杂),但是作为“从插入的选择...”类型语句的一部分来完成它太复杂了——它本身就是几行代码. 因此,我认为无论如何我都需要一个光标。
编辑:(29/12/09)-我绝望地最终展开了存储过程代码,但我真的很想在 Sybase ASA 6 中有一个工作游标示例,因为迟早我会遇到一些我可以' t 轻松展开。所以我会抛出这个赏金 -有人可以给我一个工作的例子吗?:-)