|
|
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
|