在oracle表上插入或更新后,oracle是否可以触发SAS程序?

时间:2015-10-15 15:42:15

标签: oracle sas

我是oracle的新手,我看到Oracle触发器可以在oracle表上完成更新或插入后触发某些操作。 是否可以在每次更新或在Oracle表上插入后触发SAS程序。

1 个答案:

答案 0 :(得分:0)

有几种不同的方法可以做到这一点,但像这样的问题就是“只是因为你可以,并不意味着你应该”的说法。

确定,您的触发器可以在更新或插入时触发,并且可以调用包中的存储过程,该包可以使用oracle host command来调用可以调用SAS的操作系统命令。

以下是一些问题:

  • 您真的想在与Oracle数据库相同的计算机上安装SAS吗?
  • 您真的希望每个插入或更新的事务都要等到主机命令完成吗?如果SAS停机怎么办?您希望交易完成还是.....?
  • 您真的希望运行数据库的帐户具有启动或向其他可执行文件发送信息的权限吗?考虑安全风险。
  • 如果插入执行一个记录,则操作是明确的。如果更新影响了一千条记录怎么办?您要向SAS发送什么消息?一千个更新声明?一个更新声明?

有更好的方法可以做到这一点,但完整的答案需要您提供有关最终目标和业务逻辑的更多详细信息。我使用的一些方法包括:

  • 触发器将数据插入Oracle advanced queue。以预定间隔从队列中取出更改并将其写入平面文件。编写文件观察程序以查找文件并将信息发送给SAS。
  • 编写一个Java程序来进行更改并发送它们
  • 使用APEX Web服务并将更改公开为一系列JSON或REST数据包。