簡體   English   中英

必須聲明標量變量-SQL Server

[英]Must declare the scalar variable - SQL Server

我有一個名為CourceInstance的表,其中包含一個Period和Year屬性。 我正在嘗試將CourseInstance中的Period屬性的值放入我的表變量中。 它可以毫無問題地運行,但是每次我運行EXEC @tablePeriod部分或整個代碼時,都會出現錯誤:

必須聲明標量變量“ @tablePeriod”。

問題可能是什么? @tablePeriod已經聲明。

DECLARE @tablePeriod TABLE ( Period INT ) INSERT INTO @tablePeriod (Period)
SELECT Period FROM CourseInstance WHERE Year = 2015

EXEC @tablePeriod

我希望

EXEC @tablePeriod

應該是這樣的

select * from @tablePeriod

然后它不會返回錯誤,但是您必須在一個塊中運行整個代碼。

運行與聲明語句分開使用變量的代碼會給您帶來錯誤。

編輯:現在我想我知道您想要實現什么。 實際上,DECLARE和INSERT語句就足夠了。 不需要別的東西。

跑步

select * from @tablePeriod

在同一塊中,將向您顯示將值插入表變量中。

您可以嘗試使用臨時表。 我認為臨時表比表變量好。

SELECT Period INTO #tablePeriod FROM CourseInstance WHERE Year = 2015;
SELECT * FROM #tablePeriod;

暫無
暫無

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

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