关于插入多条数据时,设定ID字段自增的问题

do_ve 2007-05-22 10:22:59
如表tblA:

ID value
123 AAA
124 BBB
135 CCC
158 DDD

表tblB
ID value

现在希望通过一个语句把tblA中的记录插入tblB中,要求tblB中的ID为指定的起始值(如70000),自增1.
注意:tblB并没有把ID列设置为自动自增,需要用语句实现自增。

希望得到的效果:
表tblB
ID value
70000 AAA
70001 BBB
70002 CCC
70003 DDD



...全文
490 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
---涛声依旧--- 2007-05-22
  • 打赏
  • 举报
回复
鑽石可以通過其他方式得到的,不一定是你的專家分
hui_hui_2007 2007-05-22
  • 打赏
  • 举报
回复
可以另外设一个自增列,本列将自增值转成字符型,这样也行
qys2000 2007-05-22
  • 打赏
  • 举报
回复
我肯定成为钻石的
qys2000 2007-05-22
  • 打赏
  • 举报
回复
create table tblB(ID int identity(70000,1),value varchar(6))
wgsasd311 2007-05-22
  • 打赏
  • 举报
回复
create table tblA(ID int,value varchar(6))
insert into tblA select 123,'AAA'
insert into tblA select 124,'BBB'
insert into tblA select 135,'CCC'
insert into tblA select 158,'DDD'
create table tblB(ID int,value varchar(6))
go
insert into tblB
select 7000+(select count(1) from tblA where ID<t.ID),[value] from tblA t
order by t.id

select *from tblb
drop table tblA,tblB
go
子陌红尘 2007-05-22
  • 打赏
  • 举报
回复
create table tblA(ID int,value varchar(6))
insert into tblA select 123,'AAA'
insert into tblA select 124,'BBB'
insert into tblA select 135,'CCC'
insert into tblA select 158,'DDD'

create table tblB(ID int,value varchar(6))
go

insert into tblB select (7000+isnull((select count(*) from tblA where ID<t.ID),0)),[value] from tblA t

select * from tblB
/*
ID value
----------- ------
70000 AAA
70001 BBB
70002 CCC
70003 DDD
*/
go

drop table tblA,tblB
go
do_ve 2007-05-22
  • 打赏
  • 举报
回复
to libin_ftsafe(子陌红尘)
不是我想要的,要注意tblB已经存在,且ID没有(也不允许)设置为自增,所以必须通过语句实现自增
shuai45 2007-05-22
  • 打赏
  • 举报
回复
什么时候我能成为钻石
  学习了.我就不写了 嘿嘿
子陌红尘 2007-05-22
  • 打赏
  • 举报
回复
create table tblA(ID int,value varchar(6))
insert into tblA select 123,'AAA'
insert into tblA select 124,'BBB'
insert into tblA select 135,'CCC'
insert into tblA select 158,'DDD'

create table tblB(ID int identity(70000,1),value varchar(6))
go

insert into tblB select [value] from tblA

select * from tblB
/*
ID value
----------- ------
70000 AAA
70001 BBB
70002 CCC
70003 DDD
*/
go

drop table tblA,tblB
go
子陌红尘 2007-05-22
  • 打赏
  • 举报
回复
create table tblB(ID int identity(70000,1),value varchar(6))

34,590

社区成员

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

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