sp_columns_ex (Transact-SQL)
Restituisce le informazioni sulle colonne, utilizzando una riga per ogni colonna, per le tabelle del server collegato specificato. Se viene specificato column, sp_columns_ex restituisce solo le informazioni della colonna specificata.
Sintassi
sp_columns_ex [ @table_server = ] 'table_server'
[ , [ @table_name = ] 'table_name' ]
[ , [ @table_schema = ] 'table_schema' ]
[ , [ @table_catalog = ] 'table_catalog' ]
[ , [ @column_name = ] 'column' ]
[ , [ @ODBCVer = ] 'ODBCVer' ]
Argomenti
[ @table_server = ] 'table_server'
Nome del server collegato per cui si desidera restituire le informazioni sulle colonne. table_server è di tipo sysname e non prevede alcun valore predefinito.[ @table_name = ] 'table_name'
Nome della tabella per cui si desidera restituire le informazioni sulle colonne. table_name è di tipo sysname e il valore predefinito è NULL.[ @table_schema = ] 'table_schema'
Nome dello schema della tabella per cui si desidera restituire le informazioni sulle colonne. table_schema è di tipo sysname e il valore predefinito è NULL.[ @table_catalog = ] 'table_catalog'
Nome del catalogo della tabella per cui si desidera restituire le informazioni sulle colonne. table_catalog è di tipo sysname e il valore predefinito è NULL.[ @column_name = ] 'column'
Nome della colonna del database per cui si desidera ottenere informazioni. column è di tipo sysname e il valore predefinito è NULL.[ @ODBCVer = ] 'ODBCVer'
Versione di ODBC utilizzata. ODBCVer è di tipo int e il valore predefinito è 2, che indica ODBC versione 2. I valori validi sono 2 e 3. Per informazioni sulle differenze di comportamento tra le versioni 2 e 3, vedere la specifica relativa a SQLColumns di ODBC.
Valori restituiti
Nessuno
Set di risultati
Nome colonna |
Tipo di dati |
Descrizione |
---|---|---|
TABLE_CAT |
sysname |
Nome del qualificatore della tabella o della vista. Vari prodotti DBMS supportano nomi di tabella composti da tre parti, ovvero qualifier.owner.name. In SQL Server 2008 e SQL Server 2005 questa colonna rappresenta il nome del database. In altri prodotti rappresenta il nome del server dell'ambiente di database della tabella. Questo campo può essere NULL. |
TABLE_SCHEM |
sysname |
Nome del proprietario della tabella o della vista. In SQL Server questa colonna rappresenta il nome dell'utente del database che ha creato la tabella. In questo campo viene sempre restituito un valore. |
TABLE_NAME |
sysname |
Nome della tabella o della vista. In questo campo viene sempre restituito un valore. |
COLUMN_NAME |
sysname |
Nome di ogni colonna restituita per la tabella specificata in TABLE_NAME. In questo campo viene sempre restituito un valore. |
DATA_TYPE |
smallint |
Valore integer corrispondente agli indicatori del tipo di dati ODBC. Se si tratta di un tipo di dati che non è possibile mappare a un tipo ODBC, il valore è NULL. Il nome del tipo di dati nativo viene restituito nella colonna TYPE_NAME. |
TYPE_NAME |
varchar(13) |
Stringa che rappresenta un tipo di dati. Il DBMS sottostante utilizza questo nome del tipo di dati. |
COLUMN_SIZE |
int |
Numero di cifre significative. Il valore restituito per la colonna PRECISION è in base 10. |
BUFFER_LENGTH |
int |
Dimensioni di trasferimento dei dati.1 |
DECIMAL_DIGITS |
smallint |
Numero di cifre a destra del separatore decimale. |
NUM_PREC_RADIX |
smallint |
Base per i tipi di dati numerici. |
Ammette valori Null |
smallint |
Specifica se i valori Null sono supportati. 1 = I valori Null sono supportati. 0 = I valori Null non sono supportati (NOT NULL). |
REMARKS |
varchar(254) |
In questo campo viene sempre restituito NULL. |
COLUMN_DEF |
varchar(254) |
Valore predefinito della colonna. A differenza di quanto avviene in SQL Server 2000, in SQL Server 2008 e SQL Server 2005 le espressioni SQL vengono decodificate e archiviate nei metadati del catalogo. La semantica dell'espressione decodificata è equivalente al testo originale, tuttavia non è garantito che la sintassi venga mantenuta. Gli spazi vuoti, ad esempio, vengono eliminati dall'espressione decodificata. Per ulteriori informazioni, vedere Differenze di funzionamento delle caratteristiche del Motore di database in SQL Server 2008 R2. |
SQL_DATA_TYPE |
smallint |
Valore del tipo di dati di SQL visualizzato nel campo TYPE del descrittore. Questa colonna corrisponde alla colonna DATA_TYPE, tranne per il tipo di dati datetime e il tipo di dati interval di SQL-92. In questa colonna viene sempre restituito un valore. |
SQL_DATETIME_SUB |
smallint |
Codice di sottotipo per il tipo di dati datetime e il tipo di dati interval di SQL-92. Per gli altri tipi di dati in questa colonna viene restituito NULL. |
CHAR_OCTET_LENGTH |
int |
Lunghezza massima, espressa in byte, di una colonna di tipo carattere o integer. Per tutti gli altri tipi di dati in questa colonna viene restituito NULL. |
ORDINAL_POSITION |
int |
Posizione ordinale della colonna nella tabella. La prima colonna nella tabella è 1. In questa colonna viene sempre restituito un valore. |
IS_NULLABLE |
varchar(254) |
Impostazione relativa al supporto di valori Null nella colonna della tabella. Per determinare il supporto di valori Null vengono seguite le regole ISO. In un sistema DBMS conforme a ISO SQL non vengono restituite stringhe vuote. YES = La colonna ammette valori Null. NO = La colonna non ammette valori Null. Quando non è noto se i valori Null sono supportati, in questa colonna viene restituita una stringa di lunghezza zero. Il valore restituito per questa colonna è diverso dal valore restituito per la colonna Ammette valori Null. |
SS_DATA_TYPE |
tinyint |
Tipo di dati di SQL Server utilizzato in stored procedure estese. Per ulteriori informazioni, vedere Tipi di dati (Motore di database). |
Per ulteriori informazioni, vedere la documentazione di Microsoft ODBC.
Osservazioni
La stored procedure sp_columns_ex viene eseguita tramite una query sul set di righe COLUMNS dell'interfaccia IDBSchemaRowset del provider OLE DB corrispondente a table_server. I parametri table_name, table_schema, table_catalog e column passati a questa interfaccia consentono di limitare le righe restituite.
La stored procedure sp_columns_ex restituisce un set di risultati vuoto se il provider OLE DB del server collegato specificato non supporta il set di righe COLUMNS dell'interfaccia IDBSchemaRowset.
sp_columns_ex soddisfa i requisiti per gli identificatori delimitati. Per ulteriori informazioni, vedere Identificatori delimitati (Motore di database).
Autorizzazioni
È necessario disporre dell'autorizzazione SELECT per lo schema.
Esempi
Nell'esempio seguente viene restituito il tipo di dati della colonna JobTitle della tabella HumanResources.Employee inclusa nel database AdventureWorks2008R2 disponibile nel server collegato Seattle1.
EXEC sp_columns_ex 'Seattle1',
'Employee',
'HumanResources',
'AdventureWorks2008R2',
'JobTitle';