2013-11-29 64 views
1

有誰知道我的腳本下面出了什麼問題?當我運行該腳本,它顯示Command completed successfully,但不知何故IF語句中更新腳本不工作(該記錄沒有被更新)更新腳本不在SQL Server中的IF語句中工作

DECLARE @call_list VARCHAR 
SET @call_list = 'Outbound_000' 

IF @call_list = 'Outbound_000' 
BEGIN 
    UPDATE Genesys.TESTs_Hire 
    SET contact_info = '#3550322222222' 
    WHERE record_id = 167 
END 
+1

是否有一行record_id爲167? –

+0

它是否更新沒有中頻 - 當你只是自己運行更新? –

+0

@Jin Yong:每當你聲明沒有大小的VARCHAR時,這個變量需要1個字符,所以你的賦值會被修剪爲單個字符。所以你已經用所需的大小聲明瞭VARCHAR –

回答

3

給你VARCHAR聲明中的大小,例如

DECLARE @call_list VARCHAR(50) 

否則,默認情況下它是一個尺寸1.在這種情況下,只有「Outbound_000」的「O」被分配給變量@call_list在SET命令,之後當然條件

IF 'O' = 'Outbound_000' 

失敗。

Demo of variable assignment