基本上,我想從一個表中提取id
並插入另一表id
與其他一些數據。所以算法如下:循環在SQL查詢
foreach id in (select id from table)
{
insert into table2 values (id,etc,etc);
}
如何使用SQL查詢執行此功能?
基本上,我想從一個表中提取id
並插入另一表id
與其他一些數據。所以算法如下:循環在SQL查詢
foreach id in (select id from table)
{
insert into table2 values (id,etc,etc);
}
如何使用SQL查詢執行此功能?
insert into table2 select id,etc,etc from table;
不,我只是需要一個值從表中我不需要複製所有表中其他。我想要table1中的ID,並將其插入到table2中,併爲每個循環中的table2保留相同的其他值。所以只有參數ID在每個循環後改變 –
我不明白什麼是錯的。 「等等」部分可以是任何東西,並不一定來自桌子。例如,你可以這樣做:insert into table2 select id,1,2,3 from table –
在SQL查詢,如果你想使用循環再使用光標PLS。檢查以下樣品
--DECLARE CURSOR
DECLARE @ID VARCHAR(MAX)
--READ DATA FROM TABLE TO CURSOR
DECLARE IDCR CURSOR FOR SELECT id FROM table
OPEN IDCR;
FETCH NEXT FROM IDCR INTO @ID
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO table2 VALUES (@ID,etc,etc)
FETCH NEXT FROM IDCR INTO @ID
END
CLOSE IDCR;
DEALLOCATE IDCR;
請檢查以下參考。鏈接https://docs.microsoft.com/en-us/sql/t-sql/language-elements/declare-cursor-transact-sql
它始終是更好地使用非循環SQL。對於數據庫SQL循環來說,優化和分析SQL選擇,插入,更新,刪除語句要困難得多。性能差異非常顯着。 – Eugen