2014-02-28 32 views
0
 --Parameters--- 
     @InstrumentID VARCHAR(MAX), 
     @ReminderSentDate datetime, 
     @Return INT OUTPUT 

--========================================================================================= === 

    AS 

    BEGIN 

     BEGIN TRANSACTION 
     --===============================UPDATE LAST REMINDER SENT======================================= 

     DECLARE @Reminder VARCHAR(MAX) 


    SET @Reminder = 'UPDATE InstrumentReminderSent SET [email protected] WHERE InstrumentID in (' + @InstrumentID + ')' 

    EXEC(@Reminder) 

SET @[email protected]@ROWCOUNT 

COMMIT TRANSACTION 

這是SP如果我執行InstrumentID = 7和ReminderSentDate =「2014年2月28日」我得到錯誤的此給出值「消息137,級別15,狀態2,行1 必須聲明標量變量「@ReminderSentDate」。「更新提醒表

回答

0

它看起來像一個範圍問題。你有沒有嘗試在update語句中使@ReminderSentDate動態化?

SET @Reminder = 'UPDATE SET InstrumentReminderSent ReminderSentDate =' + @ReminderSentDate + 'WHERE InstrumentID在(' + @InstrumentID + ')'