使用while循环在表中插入多条记录

2022-11-23数据库问题
8

本文介绍了使用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循环在表中插入多条记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

Mysql目录里的ibtmp1文件过大造成磁盘占满的解决办法
ibtmp1是非压缩的innodb临时表的独立表空间,通过innodb_temp_data_file_path参数指定文件的路径,文件名和大小,默认配置为ibtmp1:12M:autoextend,也就是说在文件系统磁盘足够的情况下,这个文件大小是可以无限增长的。 为了避免ibtmp1文件无止境的暴涨导致...
2025-01-02 数据库问题
151

按天分组的 SQL 查询
SQL query to group by day(按天分组的 SQL 查询)...
2024-04-16 数据库问题
77

SQL 子句“GROUP BY 1"是什么意思?意思是?
What does SQL clause quot;GROUP BY 1quot; mean?(SQL 子句“GROUP BY 1是什么意思?意思是?)...
2024-04-16 数据库问题
62

MySQL groupwise MAX() 返回意外结果
MySQL groupwise MAX() returns unexpected results(MySQL groupwise MAX() 返回意外结果)...
2024-04-16 数据库问题
13

MySQL SELECT 按组最频繁
MySQL SELECT most frequent by group(MySQL SELECT 按组最频繁)...
2024-04-16 数据库问题
16

在 Group By 查询中包含缺失的月份
Include missing months in Group By query(在 Group By 查询中包含缺失的月份)...
2024-04-16 数据库问题
12