簡體   English   中英

SQL Server:必須聲明標量變量

[英]SQL Server : Must declare the scalar variable

我需要將全局變量聲明為計數器

DECLARE @counter int
SET @counter = 0;

然后使用存儲過程,但它總是告訴我@counter必須聲明為標量變量

CREATE OR ALTER PROCEDURE proc_counter_type 
     @type NVARCHAR(15), 
     @dateFirst DATE,
     @dateSecond DATE
AS
    SELECT @counter = COUNT(title_id)
    FROM books
    WHERE type = @type AND (datum BETWEEN @dateFirst AND @dateSecond)

您需要添加@Counter作為OUTPUT參數:

CREATE OR ALTER PROCEDURE proc_counter_type @type nvarchar(15), @dateFirst date, @dateSecond date, @Counter int OUTPUT 
AS
BEGIN
    SELECT @counter = COUNT(title_id)
    FROM books
    WHERE type = @type
      AND (datum BETWEEN @dateFirst AND @dateSecond);
END;

然后執行 SP 為:

DECLARE @counter int;
--Other Params
EXEC proc_counter_type, @Type, @dateFirst, @dateSecond, @Counter OUTPUT;

PRINT @Counter;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM