不支持SQL构造或语句

时间:2012-09-11 14:37:19

标签: sql sql-server database if-statement

我是使用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的查询部分出现错误但仍可正常工作;但是,当我在数据库处理程序类中调用它时,它不会。任何帮助将不胜感激!

1 个答案:

答案 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;