1

我是使用 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)

尽管视觉工作室的查询部分出错,但它仍然有效;但是,当我在我的数据库处理程序类中调用它时,它不会。任何帮助,将不胜感激!

4

1 回答 1

5

为什么不简化为单个语句而不是所有这些 if/else 东西?

UPDATE dbo.Product_Availability 
  SET Product_Availability = CASE Product_Availability
    WHEN 'True' THEN 'False' ELSE 'True' END
WHERE Product_Name = @name;
于 2012-09-11T14:40:01.753 回答