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