复制记录的问题

linghengmao 2008-07-14 01:02:15
如果我想在表中插入一条相同的记录可以用以下语句能达到:

insert into tableA select * from tableA where orderNO='100'

可是现在的情况是,我的表tableA有一个自增字段(ID),用以上的语句就不行了;
因为此表的字段非常多,我又不想一个一个字段的复制,
请问有什么办法吗?
...全文
102 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ojuju10 2008-07-14
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 SQLnewlearner 的回复:]
如果他两个表的字段名不同蛇兄的好像不行耶。
[/Quote]

2个表的字段不同,那就自己手动去写了,呵呵
SQLnewlearner 2008-07-14
  • 打赏
  • 举报
回复
如果他两个表的字段名不同蛇兄的好像不行耶。
nzperfect 2008-07-14
  • 打赏
  • 举报
回复
其实按着表下的列字一拖就可以。
tianhuo_soft 2008-07-14
  • 打赏
  • 举报
回复

insert into tableA select * from tableA where orderNO='100'


在查询分析器里面 右键表名---

2000 在剪贴板中编写对象脚本--插入
2005 编写脚本为--insert
这样就有脚本 你只需要删几个 OK了

insert into tableA select 把除了id以外的字段全写上 from tableA where orderNO='100'


nzperfect 2008-07-14
  • 打赏
  • 举报
回复
create proc p_selectallcolmuns
@tbname sysname
as
declare @sql varchar(8000)
select @sql=isnull(@sql+',','') + name from syscolumns where id=object_id(@tbname,'u')
select @sql


p_selectallcolmuns 'tbname'

把p_selectallcolmuns设置成快捷键,用时一按就可以了。
utpcb 2008-07-14
  • 打赏
  • 举报
回复
懒死算
ojuju10 2008-07-14
  • 打赏
  • 举报
回复



declare @colstr varchar(1000)
set @colstr=''
select @colstr=@colstr+name+',' from syscolumns
where name<>'id'
set @colstr=substring(@colstr,1,len(@colstr)-1)

exec(' insert into tableA('+@colstr +') select '+@colstr+' from tableA where orderNO=''100''
')
nzperfect 2008-07-14
  • 打赏
  • 举报
回复
懒死算
nzperfect 2008-07-14
  • 打赏
  • 举报
回复
没有

34,597

社区成员

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

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