我是使用SQL的新手,我一直在收到错误:
不支持sql构造或语句
每次执行此声明时,在visual studio中:
IF (SELECT [Product_Availability] FROM Product WHERE [Product_Name] = @name) = 'True'
UPDATE [Product] SET [Product_Availability] = 'False'
WHERE ([Product_Name] = @name)
ELSE
UPDATE Product SET [Product_Availability] = 'True'
WHERE ([Product_Name] = @name)
尽管Visual Studio的查询部分出现错误但仍可正常工作;但是,当我在数据库处理程序类中调用它时,它不会。任何帮助将不胜感激!
答案 0 :(得分:5)
为什么不简化为单个语句而不是所有这些if / else事情?
UPDATE dbo.Product_Availability
SET Product_Availability = CASE Product_Availability
WHEN 'True' THEN 'False' ELSE 'True' END
WHERE Product_Name = @name;