我写了以下查询以查看是否存在行,如果Row不存在则更新else则不执行任何操作。
我的代码:s
UPDATE [Computer] SET [ComputerTag] = @ComputerTag, [CustID] = @CustID,
[PcModel] = @PcModel, [ServicetagNo] = @ServicetagNo,
WHERE [ComputerID] = @ComputerID
AND NOT EXIST ( SELECT [ComputerTag] FROM [Computer]
WHERE [ComputerTag] = @ComputerTag)
但它显示错误“函数参数列表中的错误:'SELECT'无法识别。 函数参数列表出错:'EXIST'无法识别“。我该如何解决这个问题?
更新
Thanx为您的答案,但现在它显示了不同类型的错误“不支持复合语句SQL构造或语句”。那是为什么?
答案 0 :(得分:8)
@ServicetagNo
之后的查询中有一个额外的逗号。
答案 1 :(得分:2)
它应该是这样的:
UPDATE [Computer] SET [ComputerTag] = @ComputerTag, [CustID] = @CustID,
[PcModel] = @PcModel, [ServicetagNo] = @ServicetagNo
WHERE [ComputerID] = @ComputerID
AND NOT EXISTS ( SELECT [ComputerTag] FROM [Computer]
WHERE [ComputerTag] = @ComputerTag)
答案 2 :(得分:2)
除了额外的逗号之外,你应该在WHERE子句中替换 EXISTS 的EXIST
答案 3 :(得分:2)
在EXISTS关键字中缺少'S'。
答案 4 :(得分:2)
试试这个:
UPDATE [Computer] SET [ComputerTag] = @ComputerTag, [CustID] = @CustID,
[PcModel] = @PcModel, [ServicetagNo] = @ServicetagNo
WHERE [ComputerID] = @ComputerID
AND NOT EXISTS ( SELECT [ComputerTag] FROM [Computer]
WHERE [ComputerTag] = @ComputerTag)