所以我有一个存储过程,我需要根据另一列是否为空来将列值更新为True / False。
我想它必须是这样的:
if([Template] is not NULL)
begin
update CMM_Templates
set [Template_Exists]=1
where [ID] = @id
end
尝试更新数据库时,它会发出:
An error occurred while the batch was being executed.
表CMM_Templates
存在,所有列和变量都存在,唯一的问题是在行中:
set [Template_Exists]=1
如果我通过变量更新列,它可以工作。但如果我直接更新它就不行。
我试过了:
set [Template_Exists]=1
set [Template_Exists]='True'
set [Template_Exists]=cast('True' as bit)
set [Template_Exists]=cast(1 as bit)
它们似乎都不起作用。 我确定我错过了一些东西,但可以弄清楚是什么。
任何帮助将不胜感激。
答案 0 :(得分:1)
我不明白这部分
if([Template] is not NULL)
。
我建议您尝试:
update CMM_Templates
set [Template_Exists]=1
where [ID] = @id AND [Template] is not NULL