1

テーブルからレコードをプルする SQL スクリプトがあります。Id=4 のテーブルから 5 つのレコードを読み取り、後でスクリプトで使用するために Id を保存します。

DECLARE @ITEM1 INT
DECLARE @ITEM2 INT
DECLARE @ITEM3 INT
DECLARE @ITEM4 INT
DECLARE @ITEM5 INT

SET @ITEM1 = (SELECT Id FROM dbo.PageElement WHERE TypeId = 4)
SET @ITEM2 = (SELECT Id FROM dbo.PageElement WHERE TypeId = 4)
SET @ITEM3 = (SELECT Id FROM dbo.PageElement WHERE TypeId = 4)
SET @ITEM4 = (SELECT Id FROM dbo.PageElement WHERE TypeId = 4)
SET @ITEM5 = (SELECT Id FROM dbo.PageElement WHERE TypeId = 4)

5 つの変数に取り込まれた Id 値を読み取る最良の方法がわからない

4

3 に答える 3

4

テーブル変数(または一時テーブル)を使用しないのはなぜですか

declare @Temp_Items (ID int primary key, Num int identity(1, 1))

insert into @Temp_Items
select top 5 ID from dbo.PageElement where TypeId = 4

したがって、 で番号付けされた 5 つの行がありますNum。ところで、通常order byはクエリに追加することをお勧めします。

のようにフェッチできる@Item<N>ようになりselect ID from @Temp_Items where Num = Nました。

于 2013-10-03T19:36:54.327 に答える