在T-SQL中分配变量时,SET和SELECT语句之间有什么区别?
我正在尝试在SO Data Explorer上运行此查询:
DECLARE @totalRep float
SET @totalRep = SELECT SUM(Users.Reputation) FROM Users
Run Code Online (Sandbox Code Playgroud)
而且我一直在努力
关键字'SELECT'附近的语法不正确.
我究竟做错了什么?
第 2 部分:使用产品和产品库存表创建存储过程。此存储过程应声明一个变量并将其设置为产品表中所有产品的计数。如果计数大于或等于 20,存储过程应显示一条消息“库存计数大于或等于 20”。否则,应显示“产品库存数量少于 20”。
CREATE PROCEDURE Moreorless20ProductInventory
AS
BEGIN
DECLARE @countprod INT
SELECT @countprod = countprod
FROM
(SELECT COUNT(*)
INTO countprod
FROM Production.ProductInventory);
IF @countprod >= 20
BEGIN
SELECT 'The number of products is greater than or equal to 20' as col1;
ELSE
SELECT 'The number of products is less than 20' as col1;
END IF;
END
Run Code Online (Sandbox Code Playgroud)
错误:
消息 156,级别 15,状态 1,过程 Moreorless20ProductInventory,第 8 行 [批处理起始行 0]
关键字“INTO”附近的语法不正确。消息 156,级别 15,状态 1,过程 Moreorless20ProductInventory,第 14 行 [批处理起始行 0]
关键字“ELSE”附近的语法不正确。 …