SQL代码手动运行但不在作业中运行

时间:2017-11-14 08:18:27

标签: sql-server

我在自动化作业中使用此代码,一旦它出现在此代码上,作业就失败了但是如果我手动运行它就会完美。有没有其他方法来写这个或有任何错误。

UPDATE ABC_FACT
SET ID =  CASE WHEN (PRODUCT_NAME LIKE '%ETH LE%' or PRODUCT_NAME LIKE '% SOUND %' OR PRODUCT_NAME LIKE '%NET REV%' or PRODUCT_NAME LIKE '%ETHERNET SPOKE%')
THEN ORDER_NO + (SUBSTRING(ORDER,1,CHARINDEX('/',ORDER)-1)) + C_TYPE
ELSE ORDER_NO + ORDER + C_TYPE END
WHERE FLAG LIKE 'ABC%'

请帮忙。

1 个答案:

答案 0 :(得分:0)

试试这个

UPDATE ABC_FACT
SET ID =  CASE WHEN (PRODUCT_NAME LIKE '%ETH LE%' or PRODUCT_NAME LIKE '% SOUND %' OR PRODUCT_NAME LIKE '%NET REV%' or PRODUCT_NAME LIKE '%ETHERNET SPOKE%')
THEN ORDER_NO + (SUBSTRING([ORDER],1,CHARINDEX('/',[ORDER])-1)) + C_TYPE
ELSE ORDER_NO + [ORDER] + C_TYPE END
WHERE FLAG LIKE 'ABC%'

订单是SQL中的保留字,每当使用保留字作为列使用[]时,我建议不要使用保留字作为列名,你可以像之前使用_或者用其他词组合< / p>

有关SQL Server保留字的列表,请访问https://docs.microsoft.com/en-us/sql/t-sql/language-elements/reserved-keywords-transact-sql