Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
22
Assunto : SQL Server
Titulo: Imprimir a estrutura de uma tabela

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon


Descobrir qual é a estrutura de uma tabela é uma tarefa rotineira. Basta um sp_help e o problema está resolvido.

Mas imprimir a estrutura de uma tabela não é tão simples assim. O formato utilizado pelo sp_help faz com que seja difícil imprimir o resultado. Assim sendo, para podermos imprimir a estrutura precisamos obter as informações por outro meio.

O SQL Server, a partir da versão 7, vem com um conjunto de views do sistema que facilitam a obtenção destas informações. A estrutura de uma tabela pode ser obtida através da view information_schema.columns. Assim sendo, podemos realizar o seguinte select :

select column_name,is_nullable,data_type,character_maximum_length,numeric_precision,numeric_scale from information_schema.columns

Com certeza vocês ficarão decepcionados com o resultado. O formato resultante ainda dificulta bastante a impressão da estrutura da tabela. Teremos então que eliminar o excesso de espaços em algumas colunas. Veja como fica :

select left(column_name,25) as campo,is_nullable,left(data_type,10) as tipo,character_maximum_length,numeric_precision,numeric_scale from information_schema.columns

No exemplo acima as colunas de nome do campo e tipo foram cortadas, devido ao seu excesso de espaço em branco. Não houve nenhuma perda de informação. Agora o resultado já pode ser impresso. Precisamos ainda adicionar no Select uma filtragem de acordo com a tabela que desejamos imprimir :

select left(column_name,25) as campo,is_nullable,left(data_type,10) as tipo,character_maximum_length,numeric_precision,numeric_scale from information_schema.columns where table_name='customers'

Eis então o resultado pronto para a impressão. Para evitarmos ter que repetir esse select sempre que desejarmos imprimir uma estrutura podemos criar uma procedure :

Create procedure Imprimir @tab varchar(20) As
select left(column_name,25) as campo,is_nullable,left(data_type,10) as tipo,character_maximum_length,numeric_precision,numeric_scale from information_schema.columns where table_name=@tab

A partir dai, quando desejarmos imprimir a estrutura de uma tabela basta utilizarmos :

exec imprimir 'customers'


P.S. : O treinamento de SQL Server estará iniciando-se 3a feira, dia 07/11

Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
Nenhum comentário foi realizado ainda. Seja o primeiro !
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br