2017-04-21 59 views
0

想知道,如果它是在所有可能捕捉到调用查询......例如捕获调用语句作为变量

SELECT SITE,NAME,COUNT(ITEMS) FROM SQLVIEW1 WHERE NAME = 'JIM' 

在SQL视图中有这样的事情

DECLARE VAR1 

其中VAR1将等于触发该过程的上述查询。

"SELECT SITE,NAME,COUNT(ITEMS) FROM SQLVIEW1 WHERE NAME = 'JIM'" 
+0

什么样的DB? MysQL,PostgresQL,SQLite等? – user2180833

+0

@ user2180833:HANA,查看标记 – Hannobo

回答

1

不,没有这样的变量。

你可以找到当前正在执行的语句通过巧妙的连接系统表:

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 

然而,似乎在概念上我错了,有一个观点取决于它的调用语句。也许可以解释你想达到什么,有人可以提出更好的解决方案?

+0

真的是更多的实验......如果在选择字符串中使用某些列,它会触发另一个查询... – JRhino