0

以下のコードの出力変数がnullを返す理由を理解できません。私はデバッグでそれをステップスルーし、sqlステートメントをコピー/実行しました、そしてそれは期待された値を返します。しかし、私がそれを実行すると、ただnullになります。どんな助けでも素晴らしいでしょう。

ALTER PROCEDURE [dbo].[spCountOfMostRecentByTableName] @table VARCHAR(120),
    @count BIGINT OUTPUT

AS
BEGIN

DECLARE @parameters NVARCHAR(100)
SET @parameters = '@count BIGINT OUTPUT'

DECLARE @date DATE = dbo.MostRecentTradeDateForDataDownload()

DECLARE @sql NVARCHAR(MAX) = N'

SELECT COUNT(ID)
FROM ' + @table + 
' WHERE DateAdded = ''' + CAST(@date AS CHAR) + '''';

EXEC sp_executesql @sql, @parameters, @count = @count OUTPUT
SELECT @count

END
4

1 に答える 1

1

@count変数はどこにも設定していません。

変化する

SELECT COUNT(ID)

SELECT @count = COUNT(ID)

于 2012-05-03T02:28:46.773 に答える