Bom dia pessoal, há uns dias atrás tive que comparar duas bases, source e destino, após uma importação. Então crie uma stored procedure que comparasse as duas bases levando em consideração a quantidade de registros, linhas, e a estrutura, colunas, das tabelas. Para fazer essa procedure eu tive a necessidade de criar cursores dinâmicos. Hoje eu vou mostrar como criar cursores dinâmicos numa stored procedure.
Exemplo:
Declare @statement varchar(255)
SELECT @statement = ‘DECLARE c CURSOR FOR Select convert(varchar, isnull(count(*), 0)) from dbo.’ + @tabela
EXEC(@statement) open c fetch next from c into @linhas
Close c
Deallocate c
SELECT @statement = ‘DECLARE d CURSOR FOR Select convert(varchar, isnull(count(*), 0)) from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ”’ + @tabela + ””
EXEC(@statement) open d fetch next from d into @colunas
Close d
Deallocate d
Abs, André
Publicado por andrenobrega 