問題描述
我想在指向其他表中 pk 的表中插入幾百行.我一直在嘗試使用 while 循環在表中插入多條記錄.我實際上是在設置我的測試數據.
I want to insert couple of hundred rows into a table that points to pk in other table. I have been trying to use while loops for inserting multiple records in the table. I am actually setting up my test data.
這就是我正在做的:
declare @count int;
set @count = 4018;
while @count <= 5040
begin
INSERT INTO [MY_TABLE]
([pk_from_other_table]
,[..]
,[...]
,[..]
,[..]
,[...]
,[...]
,[..])
select
(pk_from_other_table,
,[..]
,[...]
,[..]
,[..]
,[...]
,[...]
,[..])
@count = @count + 1;
end
但這似乎不起作用!任何人都可以幫忙...我想做的就是插入記錄數 = 主表中存在的記錄數.
but this does not seems to work ! can anyone help please... all I want to do is insert number of records = number of records that exist in primary table.
?關于如何實現這一目標的任何想法?
? any idea on how can I achieve this ?
我要么在計數附近得到錯誤的語法
I either get incorrect sytax near count
或
消息 102,級別 15,狀態 1,第 17 行',' 附近的語法不正確.
Msg 102, Level 15, State 1, Line 17 Incorrect syntax near ','.
推薦答案
您當前的語法問題是 @count = @count + 1;
需要 set @count =@count + 1
.
Your current syntax problem is with the @count = @count + 1;
which needs to be set @count = @count + 1
.
但是……
不需要循環.你可以直接做一個大的插入,比如:
There is no need for a loop. You can simply do one big insert directly, like:
insert into your_table (fk_col, other_col1, other_col2)
select pk_col, 'something', 'something else'
from your_other_table
如果需要,可以在上面添加where
子句.
If you need to, you can add a where
clause to the above.
這篇關于使用while循環在表中插入多條記錄的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!