आप कोशिश कर सकते हैं:CONTEXT_INFO
यहां एक CONTEXT_INFO उपयोग उदाहरण दिया गया है:
प्रत्येक प्रक्रिया में सम्मिलित करें/हटाएं/अपडेट करें जिसे आप ट्रैक करना चाहते हैं, इसे जोड़ें:
DECLARE @string varchar(128)
,@CONTEXT_INFO varbinary(128)
SET @string=ISNULL(OBJECT_NAME(@@PROCID),'none')
SET @CONTEXT_INFO =cast('Procedure='[email protected]+REPLICATE(' ',128) as varbinary(128))
SET CONTEXT_INFO @CONTEXT_INFO
--do insert/delete/update that will fire the trigger
SET CONTEXT_INFO 0x0 --clears out the CONTEXT_INFO value
यहाँ मान को पुनः प्राप्त करने के लिए ट्रिगर का भाग दिया गया है:
DECLARE @string varchar(128)
,@sCONTEXT_INFO varchar(128)
SELECT @sCONTEXT_INFO=CAST(CONTEXT_INFO() AS VARCHAR) FROM master.dbo.SYSPROCESSES WHERE [email protected]@SPID
IF LEFT(@sCONTEXT_INFO,9)='Procedure'
BEGIN
SET @string=RIGHT(RTRIM(@sCONTEXT_INFO),LEN(RTRIM(@sCONTEXT_INFO))-10)
END
ELSE
BEGIN --optional failure code
RAISERROR('string was not specified',16,1)
ROLLBACK TRAN
RETURN
END
..use the @string