复制一条记录,但有自增字段,最好的处理办法???

dabaicai 2003-10-20 04:24:32
我的表有40多的字段,下面方法太麻烦insert into table(字段) Seelct 字段 From table 方法; 我想用insert into talbe select * From table 方法,而且自增字段仍然按系统顺序排,怎么办???急!!!!!
...全文
130 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
axiaowin 2003-10-20
  • 打赏
  • 举报
回复
动态语句是一种什么方法?它和存储过程有什么区别?是不是就是存储过程
pengdali 2003-10-20
  • 打赏
  • 举报
回复
declare @a varchar(8000),@b varchar(8000)
set @a=''
select @a=@a+name+',' from syscolumns where id=object_id('目标表') and name<>'你不要的列名'
select @a=@a+name+',' from syscolumns where id=object_id('源表') and name<>'你不要的列名'
select @a=left(@a,len(@a)-1),@b=left(@b,len(@b)-1)

exec('insert 目标表 ('+@a+') select '+@b+' from 源表')
qdubit 2003-10-20
  • 打赏
  • 举报
回复
declare @ varchar(8000)
set @=''
select @=@+rtrim(name)+',' from syscolumns where id=object_id('你的表名') and name<>'你不要的列名(ID字段)'
set @=left(@,len(@)-1)

exec('insert into newTable select '+@+' from 你的表名')
yujohny 2003-10-20
  • 打赏
  • 举报
回复
那只能用马可的方法,利用动态语句组合出你的字段了
dabaicai 2003-10-20
  • 打赏
  • 举报
回复
to yujohny(踏网无痕) : 这个方法会改变自增的ID的,不行啊!
yujohny 2003-10-20
  • 打赏
  • 举报
回复
SET IDENTITY_INSERT 表 ON
GO

INSERT INTO 表 select * from 另外表
GO

SET IDENTITY_INSERT 表 OFF
GO


txlicenhe 2003-10-20
  • 打赏
  • 举报
回复
declare @ varchar(8000)
set @=''
select @=@+rtrim(name)+',' from syscolumns where id=object_id('你的表名') and name<>'你不要的列名(ID字段)'
set @=left(@,len(@)-1)

exec('insert into newTable select '+@+' from 你的表名')

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧