quinta-feira, 17 de outubro de 2013

Dicionário das Tabelas do Banco (SQL Server)

Vou explicar a função do script, abaixando, executando o mesmo você conseguirá retorar todas as tabelas do banco de dados com seus respectivos campos e tipos. conforme exemplo abaixo:



TABELA: CADASTRO


nome_campo tipo_campo tamanho_campo descricao_campo
---------------------------------------- -------------------- ------------- ---------------------------
NOME char 100
SOBRENOME char 100
STATUS char 10
ETC... char 4

Veja o Script:

SET NOCOUNT ON
DECLARE @Id_Tabela int, @Nome_Tabela varchar(50)
PRINT "BANCO DE DADOS: " + UPPER(db_name())
PRINT ""
DECLARE tabelas CURSOR FOR SELECT Name, ID FROM sysobjects WHERE xtype = "U" AND Name <>
"dtProperties"
ORDER BY Name
OPEN
tabelas
FETCH NEXT FROM tabelas INTO @Nome_Tabela, @Id_Tabela
WHILE @@FETCH_STATUS = 0
BEGIN     PRINT "TABELA: " + UPPER(@nome_tabela)
     select nome_campo = LEFT(RTRIM(LTRIM(sc.name)),40),
     tipo_campo = LEFT(RTRIM(LTRIM(st.name)),20), tamanho_campo = sc.length, descricao_campo = ISNULL(sp.value,"")
     FROM syscolumns sc, systypes st, sysproperties sp WHERE sc.id = @Id_Tabela AND sc.xtype = st.xtype
     and sc.colid *= sp.smallid and sp.id = @Id_Tabela

     ORDER BY sc.colid
     PRINT
""     FETCH NEXT FROM tabelas INTO @Nome_Tabela, @Id_Tabela
END
CLOSE
tabelas
DEALLOCATE tabelas

SET NOCOUNT OFF

0 comentários:

Postar um comentário