SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
ALTER procedure dbo.CopyDescripInSame(@Stable varchar(50),@Dtable varchar(50))
as
begin
Declare @name varchar(50)
Declare @Descrip1 varchar(200),@Descrip2 varchar(200)
Declare @icount int,@count int
Declare foreachfield cursor for select name from syscolumns where id=object_id(@Stable)
open foreachfield
fetch next from foreachfield into @name
while @@FETCH_STATUS = 0
begin
if Exists (select name from syscolumns where id=object_id(@Dtable) and name=@name)
Begin
--clear preDescrip
SET @Descrip1=NULL
SELECT @Descrip1=cast(value as varchar(200))
FROM ::fn_listextendedproperty (NULL,N'user', N'dbo', N'table', @Stable, N'column', @name)
--clear preDescrip
Set @Descrip2=NULL
SELECT @Descrip2=cast(value as varchar(200))
FROM ::fn_listextendedproperty (NULL,N'user', N'dbo', N'table', @Dtable, N'column', @name)
IF @DESCRIP1 is null or @DESCRIP1='' GOTO NEXTFIELD
IF @DESCRIP2 is null
EXEC sp_addextendedproperty 'MS_Description', @Descrip1, 'user', dbo, 'table', @Dtable, 'column', @Name
Else IF @DESCRIP2=''
ExeC sp_updateExtendedproperty 'MS_Description', @Descrip1, 'user', dbo, 'table', @Dtable, 'column', @Name
END
NEXTFIELD:fetch next from foreachfield into @name
end
close foreachfield
deallocate foreachfield
end
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
