SQL查询,哪里不存在';不起作用

本文关键字:不起作用 不存在 查询 SQL | 更新日期: 2023-09-27 18:24:23

我写了下面的Query来查看行是否存在,如果行不存在,则更新其他操作。

我的代码: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"。如何修复此问题?

更新:

感谢您的回答,但现在它显示了不同类型的错误"不支持复合语句SQL构造或语句"。为什么?

SQL查询,哪里不存在';不起作用

@ServicetagNo之后的查询中有一个额外的逗号。

  1. 在第一个WHERE之前的行末尾添加逗号
  2. 不存在上的未命中"S"(@Lamak)

应该是这样的:

UPDATE [Computer] SET [ComputerTag] = @ComputerTag, [CustID] = @CustID, 
[PcModel] = @PcModel, [ServicetagNo] = @ServicetagNo                       
WHERE [ComputerID] = @ComputerID
AND NOT EXISTS ( SELECT [ComputerTag] FROM [Computer] 
WHERE [ComputerTag] = @ComputerTag)

试试这个:

UPDATE [Computer] SET [ComputerTag] = @ComputerTag, [CustID] = @CustID, 
[PcModel] = @PcModel, [ServicetagNo] = @ServicetagNo                       
WHERE [ComputerID] = @ComputerID
AND NOT EXISTS ( SELECT [ComputerTag] FROM [Computer] 
WHERE [ComputerTag] = @ComputerTag)

EXISTS关键字中缺少"S"。

除了额外的逗号外,您还应该在WHERE子句

中将EXIST替换为EXISTS