将附加逻辑添加到存储过程

时间:2015-11-19 05:54:35

标签: sql case

我在存储过程中工作,我需要更新它的功能。

Stored proc将数据插入表并添加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

1 个答案:

答案 0 :(得分: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

你试图混合两种形式。