xplayn > share your experience     
RSS Feed Login     Password        » Registrati «
  
          Home
  Team & Mission
          News
  Development
  Database
          Pubblicazioni
  Articoli
  Tips
  IMHO
          Risorse
  Guide/Manuali/Tools
  Glossario SQLServer
  Collabora con noi
          Blogs
  Maurizio Tammacco
  Francesco Quaratino
  Renzo Pampani
          Formazione
  Database
 
                Partners
      http://www.dotnetside.org
 
 
Pubblicazioni »
Ottenere la struttura di una tabella con T-SQL
O meglio: "come tirar fuori da un database l'elenco delle tabelle presenti con le relative colonne e proprietà?". Esistono diverse soluzioni al problema. E' possibile interrogare le tabelle di sistema sysobjects e syscolumns contenute in ogni database, oppure le viste di sistema INFORMATION_SCHEMA.TABLES e INFORMATION_SCHEMA.COLUMNS sempre relativamente a un database.

SELECT * FROM INFORMATION_SCHEMA.TABLES SELECT * FROM INFORMATION_SCHEMA.COLUMNS

Queste ultime fanno parte di un insieme di viste conformi allo standard ANSI SQL-92, che rappresentano un'astrazione dei dati delle tabelle di sistema, quindi mettono al riparo da cattive sorprese che possono sopraggiungere con aggiornamenti di prodotto che modifichino le tabelle di sistema. Perciò, sono da preferire alla prima soluzione. Nel codice T-SQL che segue, sono state messe in join le due viste sopra citate per ottenere il risultato desiderato nella domanda di partenza.

SELECT * FROM INFORMATION_SCHEMA.TABLES AS T INNER JOIN INFORMATION_SCHEMA.COLUMNS AS C ON T.Table_Name = C.Table_Name WHERE T.Table_type = 'BASE TABLE' ORDER BY T.Table_Name, C.Ordinal_Position

Un'altra strada possibile è la stored procedure di sistema sp_help [ [ @objname = ] name ], la quale restiuisce tutte le proprietà dell'oggetto specificato.

sp_help Authors

 
Autore E-Mail Web Site Data
Francesco Quaratino francesco_AT_xplayn.org www.xplayn.org 02/09/2005
      ©Copyright 2005 - xplayn.org