Inserting a multiple records in a table with while loop (使用while循环在表中插入多条记录)
问题描述
我想在指向其他表中 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循环在表中插入多条记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:使用while循环在表中插入多条记录
基础教程推荐
- 将 SQL Server DateTime 列迁移到 DateTimeOffset 2021-01-01
- SQL 效率:WHERE IN 子查询 vs. JOIN 然后 GROUP 2021-01-01
- 如何使用 mysql.connector 禁用查询缓存 2022-01-01
- 是否可以执行按位分组功能? 2021-01-01
- 需要 MySQL 5.1 中的抽象触发器来更新审计日志 2021-01-01
- SSMS 中的权限问题:“对象 'extended_properties'、数据库 'mssqlsystem_resource'、... 错误 229)上的 SELECT 权限被拒绝" 2022-01-01
- SQL:使用来自具有相同列名的两个表中的数据... 2021-01-01
- 无法解决整理冲突 2021-01-01
- 在 SQL 中连接多个表 2021-01-01
- SQL Server 实例在登录协商期间返回无效或不受支持的协议版本 2021-01-01
