在Sybase 12.5中更改表的数据时,如何调用脚本?

时间:2008-12-12 21:16:06

标签: scripting triggers sybase

操作系统是UNIX。当表中的数据发生变化时,我想调用shell脚本来进行外部验证。是否有可能,如果可能的话。

非常感谢。


更新:理想情况下,我想为任何离散操作调用我的外部脚本:即

  • 更新...>调用脚本一次
  • 插入...>调用脚本一次
  • bcp into>调用脚本一次

1 个答案:

答案 0 :(得分:1)

我认为您可以在触发器内调用xp_cmdshell


编辑:如评论中所述,每个数据修改语句只触发一次触发器。 (参见books online。)因此,如果您有一个影响100行的更新语句,则触发器将仅触发一次,而不是100次。这应该照顾你的前两点(更新,插入)。

触发器不会在bcp上触发。但是bcp应该从命令行发生,所以不确定为什么你不会在每个bcp命令后添加你的shell脚本?

有关从触发器here调用xp_cmdshell的更多信息。

进一步的评论:您还没有真正描述过您的环境或您正在尝试完成的任务。如果您处于OLTP环境中,则必须确保如果一次对表进行多次更新,则shell脚本将正常工作。如果3个用户同时进行更新,如果其中三个用户同时运行,那么您的脚本是否仍然有用?如果您在某种OLAP或批处理系统中执行此操作,我不确定您为什么不将shell脚本添加到作业流程。