0
有沒有辦法強制語句在while循環中運行選擇一次, 例如:僅打破while循環中select語句和while循環創建多個表
WHILE(@NUMBERCOUNTER <@TOTALNUMBER)
BEGIN
Declare @Table2(
Id nvarchar(10)
);
Insert into @Table2
SELECT * FROM MainTable where Id in (select Id from Table1)
Insert into @Table2
SELECT * FROM MainTable where Id in (select Id from Table2)
END
我想要運行此行
SELECT * FROM MainTable where Id in (select Id from TABLE1)
一次,然後其他選擇連續運行,直到它符合While標準。
此外,有沒有一種方法來分隔多個表中的每個選擇數據。我不希望第二次選擇的結果與第一次混合。
現在的問題是我無法移動while循環之外的select語句,因爲它無法選擇@ Table2。而且我無法在while循環外部創建@ Table2,數據將被混合。
注意:表1在循環外創建
在此先感謝!
感謝您的回覆!對於第二個問題,如果while循環超過3次,則在select語句內將標誌添加到@Table將導致子查詢出現問題。我想知道是否可以在while循環中創建多個表。例如: 聲明@Table [@NumberCounter] TableNumber對應循環編號 – LegendDemonSlayer
@LegendDemonSlayer哦,那樣。因此,您將需要使用動態sql來以合適的名稱動態聲明表。有教程[鏈接](https://www.mssqltips.com/sqlservertip/1160/execute-dynamic-sql-commands-in-sql-server/)。 你想用表格變量做什麼?你想在while循環之後使用它們嗎? 在我看來,這將是非常難以編碼的。 – Rokuto
謝謝。是的,我需要將表返回到.NET Core API(對不起,如果這是有點偏離)。因此,如果我有4個表格,我會將4個表格的結果返回到.NET Core API,然後這將顯示在html上。 – LegendDemonSlayer