2015-11-19 62 views
0

我在存儲過程中工作,我需要更新其功能。將添加邏輯添加到存儲過程

存儲過程將數據插入到表中並添加一個0標誌,我們運行一個批處理,它會將標誌設置爲1,表示記錄已經處理。

我正在編輯存儲過程總是插入1標誌到特定的記錄,所以它不會被處理。

的代碼工作像這樣

INSERT INTO [dbo].[personel] 
     ([FirstName] 
     ,[LastName] 
     ,[IdNo] 
     ,[ProcessedIndicator] 
     ,[CreateDate] 
Select AP.FirstNm 
    ,AP.LastNm 
    ,AP.Idno 
    ,CASE 0 
     WHEN AP.Locotion = '' AND AP.Position 0001 BETWEEN AND 0005 
     THEN insert 1 
     ELSE '0' 
    END  
    ,GetDate() 
from dbo.AllPersonel AS AP 
+3

你的問題是什麼?如果這是你所問的,你可以將'THEN insert 1'改爲'THEN 1'。 – Ellesedil

回答

0

CASE語句有幾個語法(和拼寫)的問題。試試這個:

CASE 
    WHEN AP.Location = '' AND AP.Position BETWEEN 0001 AND 0005 THEN 1 
    ELSE '0' 
END 

CASE語句有兩種形式:

CASE someExpression 
    WHEN someValue THEN someResult 
    ... 
    ELSE someDefault 
END 

CASE 
    WHEN someCondition THEN someResult 
    ... 
    ELSE someDefault 
END 

你試圖將兩種形式混合。

+0

謝謝,我會試試看,並讓你知道 –

+0

案件的表達,而不是案件陳述。 – jarlh