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构造或语句"。为什么?
@ServicetagNo
之后的查询中有一个额外的逗号。
- 在第一个WHERE之前的行末尾添加逗号
- 不存在上的未命中"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子句