相关疑难解决方法(0)

分配变量时SET与SELECT?

在T-SQL中分配变量时,SETSELECT语句之间有什么区别?

sql t-sql sql-server sql-server-2005 sql-server-2008

275
推荐指数
4
解决办法
37万
查看次数

SQL:为什么我不能将变量设置为查询结果?

我正在尝试在SO Data Explorer上运行此查询:

DECLARE @totalRep float

SET @totalRep = SELECT SUM(Users.Reputation) FROM Users
Run Code Online (Sandbox Code Playgroud)

而且我一直在努力

关键字'SELECT'附近的语法不正确.

我究竟做错了什么?

sql dataexplorer

2
推荐指数
1
解决办法
415
查看次数

我在使用 AdventureWorks 数据库创建存储过程时遇到问题

第 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”附近的语法不正确。 …

sql sql-server stored-procedures

-2
推荐指数
1
解决办法
137
查看次数