捕获调用语句作为变量
Capture Calling statement as a variable
想知道是否完全有可能捕获调用查询...示例
SELECT SITE,NAME,COUNT(ITEMS) FROM SQLVIEW1 WHERE NAME = 'JIM'
在 SQL 视图中有这样的内容
DECLARE VAR1
其中 VAR1 等于触发该过程的上述查询。
"SELECT SITE,NAME,COUNT(ITEMS) FROM SQLVIEW1 WHERE NAME = 'JIM'"
不,没有这样的变量。
你可以通过系统表的巧妙连接找到当前正在执行的语句:
SELECT STATEMENT_STRING FROM SYS.M_TRANSACTIONS AS TR
INNER JOIN SYS.M_PREPARED_STATEMENTS AS ST
ON TR.CURRENT_STATEMENT_ID = ST.STATEMENT_ID
WHERE TR.CONNECTION_ID = CURRENT_CONNECTION
但是,让视图依赖于它的调用语句在我看来在概念上是错误的。也许解释一下你想要实现的目标,有人可以提出更好的解决方案?
想知道是否完全有可能捕获调用查询...示例
SELECT SITE,NAME,COUNT(ITEMS) FROM SQLVIEW1 WHERE NAME = 'JIM'
在 SQL 视图中有这样的内容
DECLARE VAR1
其中 VAR1 等于触发该过程的上述查询。
"SELECT SITE,NAME,COUNT(ITEMS) FROM SQLVIEW1 WHERE NAME = 'JIM'"
不,没有这样的变量。
你可以通过系统表的巧妙连接找到当前正在执行的语句:
SELECT STATEMENT_STRING FROM SYS.M_TRANSACTIONS AS TR
INNER JOIN SYS.M_PREPARED_STATEMENTS AS ST
ON TR.CURRENT_STATEMENT_ID = ST.STATEMENT_ID
WHERE TR.CONNECTION_ID = CURRENT_CONNECTION
但是,让视图依赖于它的调用语句在我看来在概念上是错误的。也许解释一下你想要实现的目标,有人可以提出更好的解决方案?