Group: microsoft.public.it.sql




Subject: Struttura tabella
From: Marco
Date: 4/24/2007 8:34:02 AM
Ciao, è possibile conoscere la struttura di una tabella con qualche comando, dovrei emulare la funzione che crea lo script di costruzione di una tabella in un mio programma. grazie in anticipo, ciao Marco

Subject: Struttura tabella
From: Andrea Benedetti
Date: 4/24/2007 1:47:29 PM
Salve Marco, "Marco" <giudici@devnet.it> ha scritto nel messaggio news:eGw$2pjhHHA.4704@TK2MSFTNGP06.phx.gbl... > Ciao, > è possibile conoscere la struttura di una tabella con > qualche comando, dovrei emulare la funzione che > crea lo script di costruzione di una tabella in un mio > programma. Partendo dalla vista di sistema information_schema.columns: select * from information_schema.columns where table_name = 'nomeTabella' potresti fare un'interrogazione simile a: use adventureWorks go declare @myTable varchar(100) set @myTable = 'Document' SELECT columnName + dataType + maximumLength + numericPrecision + nullable + columnDefault + ',' FROM ( SELECT ORDINAL_POSITION AS ordinalPosition, TABLE_NAME as tableName, '[' + COLUMN_NAME + '] ' AS columnName, CASE WHEN (COLUMN_DEFAULT IS NOT NULL) THEN ' DEFAULT ' + COLUMN_DEFAULT ELSE '' END AS columnDefault, CASE IS_NULLABLE WHEN 'YES' THEN ' NULL' ELSE ' NOT NULL' END AS nullable, DATA_TYPE AS dataType, CASE WHEN (CHARACTER_MAXIMUM_LENGTH IS NOT NULL) AND (DATA_TYPE NOT IN('text', 'ntext', 'image')) THEN '(' + CONVERT(varchar, CHARACTER_MAXIMUM_LENGTH) + ') ' ELSE ' ' END AS maximumLength, CASE WHEN (NUMERIC_PRECISION IS NOT NULL) AND (DATA_TYPE IN('numeric', 'decimal')) THEN '(' + CONVERT(varchar, NUMERIC_PRECISION) + ', ' + CONVERT(varchar, NUMERIC_PRECISION) + ') ' ELSE ' ' END AS numericPrecision FROM INFORMATION_SCHEMA.COLUMNS ) myTable WHERE tableName = @myTable ORDER BY ordinalPosition > grazie in anticipo, ciao Marco Ciao! -- Andrea Benedetti Microsoft MVP - SQL Server www.absistemi.it - www.ugiss.org http://blogs.ugidotnet.org/ab http://mvp.support.microsoft.com http://italy.mvps.org