declare @ddi_sid varchar(50)
declare @ddbs_sid varchar(50)
declare @Filetitle varchar(50)
declare @innercode varchar(50)
declare @num varchar(50)
declare @i int
set @i=1
select @num=count(*) FROM dbo.Doc_Consfile
select @Filetitle=Filetitle,@innercode=innercode from Doc_Consfile
while @i<=@num
begin
select @ddi_sid=max(ddi_sid)+1 from DOC_ddi
insert into DOC_ddi(ddi_sid,ddbs_sid,ddi_name,ddi_no,ddi_type)
values (@ddi_sid,7207,@Filetitle,@innercode,'施工图')
set @i=@i+1
end
目标:把表Doc_Consfile的数据复制到表DOC_ddi,表DOC_ddir的ddi_sid自动递增且不为空。以上代码执行后的数据都是同一样。起不到要的效果。请各位帮忙下,谢谢
declare @ddbs_sid varchar(50)
declare @Filetitle varchar(50)
declare @innercode varchar(50)
declare @num varchar(50)
declare @i int
set @i=1
select @num=count(*) FROM dbo.Doc_Consfile
select @Filetitle=Filetitle,@innercode=innercode from Doc_Consfile
while @i<=@num
begin
select @ddi_sid=max(ddi_sid)+1 from DOC_ddi
insert into DOC_ddi(ddi_sid,ddbs_sid,ddi_name,ddi_no,ddi_type)
values (@ddi_sid,7207,@Filetitle,@innercode,'施工图')
set @i=@i+1
end
目标:把表Doc_Consfile的数据复制到表DOC_ddi,表DOC_ddir的ddi_sid自动递增且不为空。以上代码执行后的数据都是同一样。起不到要的效果。请各位帮忙下,谢谢
select * into newtable from tb
然后用insert into DOC_ddir(除ddi_sid以外的列) select (除ddi_sid以外的列) from tb
select row_number() over(order by getdate()),Filetitle,7207,innercode
from Doc_Consfile
select row_number() over(order by getdate()),Filetitle,7207,innercode,'施工图'
from Doc_Consfile
declare @ddbs_sid varchar(50)
declare @Filetitle varchar(50)
declare @innercode varchar(50)
declare @num varchar(50)
declare @i int
set @i=1
select @num=count(*) FROM dbo.Doc_Consfile
select @Filetitle=Filetitle,@innercode=innercode from Doc_Consfile
while @i<=@num
begin
select @ddi_sid=max(ddi_sid)+1 from DOC_ddi---最大值+1
insert into DOC_ddi(ddi_sid,ddbs_sid,ddi_name,ddi_no,ddi_type)
values (@ddi_sid,7207,@Filetitle,@innercode,'施工图')
set @i=@i+1
end
目标:把表Doc_Consfile的数据复制到表DOC_ddi,以上代码执行后的数据都是同一条。起不到要的效果。请各位帮忙下,谢谢
然后ddi_sid的identity开了吗
放在WHILE外面,结果永远都是插入这条语句获取的数据。
其实你没必要这么麻烦,如果两个表的结构一样,直接用2楼的方法,简单轻松。