不使用游标,如何将一个结果集插入到新表中?

littlefat 2004-10-27 02:10:04
原表:
Category_ID License_Name License_Full_Name
0 名称一 名称一全称
0 名称二 名称二全称
1 名称三 名称三全称
。。。
(该表是从原来Access库得来)

新表(SQL Server)
CategoryID(主键,自动增长) LicenseName LicenseFullName


因为SQL Server的表的自动增长主键的值是从1开始,现在考虑要将原表中的Category_ID为0的记录导入到新表中,我使用下面的语句不行。。。

Select 1, License_Name, License_Full_Name into NewLicense from OldLicense where Category_ID=0

提示错误:
服务器: 消息 8155,级别 16,状态 1,行 1
没有为第 1 列(属于 'License')指定列。

或者我异想天开地想让插入的新数据从一个结果集中自动获取:

Insert Into NewLicense Values (Select 1, License_Name, License_Full_Name from OldLicense where CategoryID=0)


我知道使用游标可以解决问题,但是我不想使用游标,而且倒数据的工作只做一次,不知道有没有什么简便的方法?

我知道使用游标可以完成,但是太复杂了
...全文
171 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
songzj8 2004-10-27
2、NewLicense 已存在
insert NewLicense ( License_Name, License_Full_Name)
select License_Name, License_Full_Name
from OldLicense where Category_ID=0
回复
songzj8 2004-10-27
1、NewLicense 不存在
Select License_Name, License_Full_Name into NewLicense from OldLicense where Category_ID=0

2、NewLicense 已存在
insert NewLicense ( License_Name, License_Full_Name)
from OldLicense where Category_ID=0
回复
lsxaa 2004-10-27
insert into NewLicense( select LicenseName LicenseFull_Name)
Select License_Name, License_Full_Name
from OldLicense
where Category_ID=0
回复
yjdn 2004-10-27
再改一下:
insert into 新表( select LicenseName LicenseFullName) select License_Name License_Full_Name from 源表 where Category_ID=0

上面是你已经建好表的情况,如果你还没有建表:
改成这样:
select identity(int,1,1) as CategoryID,License_Name as LicenseName, License_Full_Name
as LicenseFullName into 新表 from 原表 where Category_ID=0
回复
zjcxc 2004-10-27
--如果新表还没有建好,可以直接这样

Select CategoryID=identity(int,1,1)
,License_Name, License_Full_Name
into NewLicense
from OldLicense where Category_ID=0
回复
zjcxc 2004-10-27
--已经建好新表了吧
insert NewLicense(LicenseName,LicenseFullName)
Select License_Name, License_Full_Name
from OldLicense where Category_ID=0
回复
yjdn 2004-10-27
insert into 新表( select LicenseName LicenseFull_Name) select License_Name License_Full_Name from 源表 where Category_ID=0
回复
littlefat 2004-10-27
自己顶一下。
回复
发帖
应用实例
创建于2007-09-28

2.7w+

社区成员

MS-SQL Server 应用实例
申请成为版主
帖子事件
创建了帖子
2004-10-27 02:10
社区公告
暂无公告