sql 中怎样利用循环将一个表中的数据按行依次插入到另一个表中

sql中怎样利用循环将表1的数据按行依次插入到表2中,并且如果表1的某个字段中的数据长度大于表2的字段的数据长度就会提示出表1中是哪一行不能插入,而表1中符合条件的数据能... sql 中怎样利用循环将表1的数据按行依次插入到表2中,并且如果表1的某个字段中的数据长度大于表2的字段的数据长度就会提示出表1中是哪一行不能插入,而表1中符合条件的数据能够插入到表2 展开
 我来答
greystar_cn
推荐于2017-11-21 · 知道合伙人软件行家
greystar_cn
知道合伙人软件行家
采纳数:16407 获赞数:17260
本人主要从事.NET C#方向的技术开发工作,具有10多年的各类架构开发工作经验。

向TA提问 私信TA
展开全部
前面先申明变量1,2这种,和数据表字段类型一样
DECLARE @mycur CURSOR FOR SELECT 字段1,字段2,字段3,... FROM 表名 WHERE ...
OPEN @mycur
FETCH NEXT FROM @mycur INTO 变量名1,变量名2,变量名3,...
WHILE @@FETCH_STATUS=0
BEGIN
SQL语句执行过程... ...
判断是否符合条件
FETCH NEXT FROM @mycur INTO 变量名1,变量名2,变量名3,...
END
CLOSE @mycur
DEALLOCATE @mycur (删除游标)
更多追问追答
追问
WHILE  @@FETCH_STATUS=0这个地方不懂,会不会造成死循环啊
追答
@@fetch_status是MicroSoft SQL SERVER的一个全局变量
其值有以下三种,分别表示三种不同含义:【返回类型integer】
0 FETCH 语句成功
-1 FETCH 语句失败或此行不在结果集中
-2 被提取的行不存在
@@fetch_status值的改变是通过fetch next from实现的
“FETCH NEXT FROM Cursor”
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式