USE test2
declare @num int,
@addCount int,
@sqls nvarchar(4000)
set @sqls='select @a=count(*) from (select ID1 FROM test1.dbo.Team) as originalTable'
declare @i int
set @i=0
exec sp_executesql @sqls,N'@a int output',@num output
if not exists(
select * from dbo.sysobjects
where id = object_id(N'[test2].[dbo].[Team1]')
)
BEGIN
create table Team1
(
ID int,
TeamName nvarchar(50)
)
insert into test2.dbo.Team1(ID) select ID from test1.dbo.Team
END
else
BEGIN
IF NOT EXISTS (
SELECT a.name FROM syscolumns a,sysobjects b WHERE a.id=b.id
AND LTRIM(a.name)='addCloum1'
AND LTRIM(b.name)='Team1'
)
BEGIN
ALTER TABLE Team1
ADD addCloum1 nvarchar(50) NULL
exec sp_executesql @sqls,N'@a int output',@num output while @i <=@addCount
begin
update test2.dbo.Team1 set test2.dbo.Team1.addCloum1=
(select TeamName FROM test1.dbo.Team where test1.dbo.Team.ID=@i+1)
set @i=@i+1
end
END
ELSE
BEGIN
exec sp_executesql @sqls,N'@a int output',@num output
while @i <=@num
begin
set @i=@i+1
update test2.dbo.Team1 set test2.dbo.Team1.addCloum1=
(select TeamName FROM test1.dbo.Team where test1.dbo.Team.ID=@i)
where test2.dbo.Team1.ID=@i
end
END
END
GO
declare @num int,
@addCount int,
@sqls nvarchar(4000)
set @sqls='select @a=count(*) from (select ID1 FROM test1.dbo.Team) as originalTable'
declare @i int
set @i=0
exec sp_executesql @sqls,N'@a int output',@num output
if not exists(
select * from dbo.sysobjects
where id = object_id(N'[test2].[dbo].[Team1]')
)
BEGIN
create table Team1
(
ID int,
TeamName nvarchar(50)
)
insert into test2.dbo.Team1(ID) select ID from test1.dbo.Team
END
else
BEGIN
IF NOT EXISTS (
SELECT a.name FROM syscolumns a,sysobjects b WHERE a.id=b.id
AND LTRIM(a.name)='addCloum1'
AND LTRIM(b.name)='Team1'
)
BEGIN
ALTER TABLE Team1
ADD addCloum1 nvarchar(50) NULL
exec sp_executesql @sqls,N'@a int output',@num output while @i <=@addCount
begin
update test2.dbo.Team1 set test2.dbo.Team1.addCloum1=
(select TeamName FROM test1.dbo.Team where test1.dbo.Team.ID=@i+1)
set @i=@i+1
end
END
ELSE
BEGIN
exec sp_executesql @sqls,N'@a int output',@num output
while @i <=@num
begin
set @i=@i+1
update test2.dbo.Team1 set test2.dbo.Team1.addCloum1=
(select TeamName FROM test1.dbo.Team where test1.dbo.Team.ID=@i)
where test2.dbo.Team1.ID=@i
end
END
END
GO
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货