none
Como descobrir os nomes das tabelas em um banco e tb como descobrir a estrutura. RRS feed

  • Pergunta

  • Ola para todos. Como faco no sql server express edition para descobrir os nomes das tabelas de um banco e tb para descobrir a estrutura de uma tabela (nome e tipo dos campos)?

    Desde ja obrigado.

     

     

    terça-feira, 16 de janeiro de 2007 21:43

Respostas

  • Você pode utilizar o código abaixo

    SELECT tb=a.[name], col=b.[name],
           tipoBanco = c.[name]
      FROM sysobjects a inner join syscolumns b
        ON a.id = b.id
     INNER JOIN systypes c
        ON b.xtype = c.xtype
     WHERE a.xType = 'U'
       AND a.name <> 'dtproperties'
    terça-feira, 16 de janeiro de 2007 23:16
  •  

     vc. pod usar

    select * from information_schema.columns

    ela traz as tabelas, campos e tipos de dados.

     

    Abs;

    quarta-feira, 17 de janeiro de 2007 09:01
  • Bosscoder,

    Completando as respostas do colegas, você também pode utilizar.

    SP_Tables --> será listadas todas as tables do seu banco, veja o exemplo abaixo:

    EXEC sp_tables
       @table_name = '%',
       @table_owner = 'Person',
       @table_qualifier = 'AdventureWorks';

    SP_Columns --> listas as informações sobre as colunas que compõem uma determinada table, veja o exemplo abaixo.

    EXEC sp_columns @table_name = N'Department',
       @table_owner = N'HumanResources';

     

    quarta-feira, 17 de janeiro de 2007 10:27
  • Completando a resposta,

    Se vc tiver bons conhecimentos sobre as Catalog Views (sys.systable,sys.syscolumns) é indicado vc utilizá-las caso contrário use INFORMATION_SCHEMA, mas não deixe de dar uma pesquisada no BOL sobre Catalog Views.

     

     

    Espero ter ajudado.

    Boa sorte

    quarta-feira, 17 de janeiro de 2007 10:35
  • quinta-feira, 18 de janeiro de 2007 14:44
  • Bosscoder,

    Só para informar o Books On-Line também é atualizado, periódicamente a Microsoft libera novas versões desta documentação.

    quinta-feira, 18 de janeiro de 2007 15:21

Todas as Respostas

  • Você pode utilizar o código abaixo

    SELECT tb=a.[name], col=b.[name],
           tipoBanco = c.[name]
      FROM sysobjects a inner join syscolumns b
        ON a.id = b.id
     INNER JOIN systypes c
        ON b.xtype = c.xtype
     WHERE a.xType = 'U'
       AND a.name <> 'dtproperties'
    terça-feira, 16 de janeiro de 2007 23:16
  •  

     vc. pod usar

    select * from information_schema.columns

    ela traz as tabelas, campos e tipos de dados.

     

    Abs;

    quarta-feira, 17 de janeiro de 2007 09:01
  • Bosscoder,

    Completando as respostas do colegas, você também pode utilizar.

    SP_Tables --> será listadas todas as tables do seu banco, veja o exemplo abaixo:

    EXEC sp_tables
       @table_name = '%',
       @table_owner = 'Person',
       @table_qualifier = 'AdventureWorks';

    SP_Columns --> listas as informações sobre as colunas que compõem uma determinada table, veja o exemplo abaixo.

    EXEC sp_columns @table_name = N'Department',
       @table_owner = N'HumanResources';

     

    quarta-feira, 17 de janeiro de 2007 10:27
  • Completando a resposta,

    Se vc tiver bons conhecimentos sobre as Catalog Views (sys.systable,sys.syscolumns) é indicado vc utilizá-las caso contrário use INFORMATION_SCHEMA, mas não deixe de dar uma pesquisada no BOL sobre Catalog Views.

     

     

    Espero ter ajudado.

    Boa sorte

    quarta-feira, 17 de janeiro de 2007 10:35
  • Galera, todas as dicas foram extremamente uteis. Obrigado a todos.
    quinta-feira, 18 de janeiro de 2007 11:01
  • Pessoal, aproveitando o gancho, vcs sabem onde consigo o manual para o sql server expression edition que contenha a sintaxe sql da microsoft.
    quinta-feira, 18 de janeiro de 2007 14:37
  • quinta-feira, 18 de janeiro de 2007 14:44
  • Bosscoder,

    Só para informar o Books On-Line também é atualizado, periódicamente a Microsoft libera novas versões desta documentação.

    quinta-feira, 18 de janeiro de 2007 15:21
  • Mais uma vez obrigado a todos. Vou tentar me manter atualizado.
    quinta-feira, 18 de janeiro de 2007 20:47