【发布时间】:2015-10-28 15:24:24
【问题描述】:
我们有一些第三方软件可以使用 ODBC 从 Oracle 数据库中选择数据。
在 Oracle 中,我们将数据公开为流水线函数(而不是表或视图),因为我们要审计 SELECT。 Oracle 流水线函数使用PRAGMA AUTONOMOUS_TRANSACTION 开关,以便我们可以为我们通过管道传回 ODBC Select 的每一行将一行写入审计表。
这很好用!但是我们现在需要从 SQL Server 而不是 Oracle 做同样的事情。
我原以为我们可以使用 SQL Server 表值函数代替 Oracle 的流水线函数来做到这一点,但我们已经达到了“你不得在函数中执行 DML”的规定。
我们已经尝试了一个程序,但第三方软件没有它 - 当我告诉它“执行”时它会掉下来
SQL Server 中是否有 PRAGMA AUTONOMOUS_TRANSACTION 等效项?或者我想做的还有其他选择吗?
【问题讨论】:
-
您可以在您的问题中添加 MS SQL 服务器的版本吗?
标签: sql-server oracle transactions pragma