create table a(
id int,
name varchar(20))
insert into a values(1,'关羽')
insert into a values(1,'张飞')
insert into a values(1000,'赵云')
insert into a values(500,'马超')
insert into a values(300,'黄忠')
create table b(
id int,
name varchar(30))
请问 如果通过for循环 把a表数据插入到b表 while@id<10 求解救
--如果顺序一一的话直接下面的就可以了
insert into b select * from a
--如果顺序不一样的话
insert into b values(select 这里按表b的顺序写a中的字段 from a)
insert into b
select id,name from a where id<10
不用循环了
首先要保证的是B库的TestTableB1 表结构和A库的TestTableA1 表结构相同.
SET IDENTITY_INSERT DataBaseB.dbo.TestTableB1 ON --导入前开启IDENTITY_INSERT为ON
INSERT DataBaseB.dbo.TestTableB1 --目标数据库表(需要导入的库表)
( TestId,
TestName
)
SELECT
TestId,
TestName
FROM DataBaseA.dbo.TestTableA1 --源数据库表(需要导出的库表)
SET IDENTITY_INSERT DataBaseB.dbo.TestTableB1 OFF --导入后关闭IDENTITY_INSERT为OFF.
感觉要写个存储过程吧
1,把表a查出来
2,用游标遍历表a,每查一行,把当前行写入到表b中
3,条件满足,中止循环.