奇怪的情況 在觸發器中,我給變量賦了一個列值,但在使用該變量插入其他表時給出異常。在sql server中獲取空值的變量
e.g
選擇@ srNO = A.SrNo從A其中id = 123;
插入到B(SRNO)值(@srNo)//這裏給空
我跑在上面的查詢窗格中選擇查詢它工作正常,但在觸發它給了我零
任何建議
ALTER PROCEDURE過程數據
@Id十進制(38,0),
@XMLString VARCHAR(1000),
@phone VARCHAR(20)
AS
DECLARE
@idoc INT,
@iError INT,
@serial VARCHAR(15),
@PhoneNumber VARCHAR(15),
BEGIN
COMMIT TRAN
EXEC sp_xml_preparedocument @idoc OUTPUT,@XMLString<br/>
SELECT @iError = @@Error<br/>
IF @iError = 0<br/>
BEGIN<br/>
SELECT @Serial = convert(text,[text])FROM OPENXML(@idoc,'',1)其中nodetype = 3且ParentId = 2
IF @Serial=Valid <br/>
BEGIN<br/>
BEGIN TRAN INVALID<br/>
begin try <br/>
Declare @phoneId decimal(38,0);<br/>
SELECT @phoneId = B.phoneId FROM A
INNER JOIN B ON A.Id = B.Id WHERE A.PhoneNumber like '%'[email protected] + '%'<br/>
print @phoneId ; //gives null<br/>
end try<br/>
begin catch<br/>
print Error_Message();<br/>
end catch<br/>
請問您可以發佈完整的CREATE TRIGGER語句嗎? – Quassnoi 2010-04-27 11:23:10
上面程序從觸發器調用 – 0cool 2010-04-28 05:53:33
正如Quassnoi所說,你可以發佈完整的'CREATE TRIGGER'語句來調用這個過程嗎? – Thomas 2010-04-28 13:26:36