sp_columns_ex (Transact-SQL)
Si applica a: SQL Server
Restituisce le informazioni sulle colonne, utilizzando una riga per ogni colonna, per le tabelle del server collegato specificato. sp_columns_ex
restituisce informazioni sulla colonna solo per la colonna specifica se viene specificato @column_name .
Convenzioni relative alla sintassi Transact-SQL
Sintassi
sp_columns_ex
[ @table_server = ] N'table_server'
[ , [ @table_name = ] N'table_name' ]
[ , [ @table_schema = ] N'table_schema' ]
[ , [ @table_catalog = ] N'table_catalog' ]
[ , [ @column_name = ] N'column_name' ]
[ , [ @ODBCVer = ] ODBCVer ]
[ ; ]
Argomenti
[ @table_server = ] N'table_server'
Nome del server collegato per il quale restituire informazioni sulla colonna. @table_server è sysname, senza impostazione predefinita.
[ @table_name = ] N'table_name'
Nome della tabella per cui restituire informazioni sulla colonna. @table_name è sysname, con un valore predefinito .NULL
[ @table_schema = ] N'table_schema'
Nome dello schema della tabella per cui restituire informazioni sulla colonna. @table_schema è sysname, con il valore predefinito NULL
.
[ @table_catalog = ] N'table_catalog'
Nome del catalogo della tabella per cui restituire informazioni sulla colonna. @table_catalog è sysname, con un valore predefinito .NULL
[ @column_name = ] N'column_name'
Nome della colonna del database per cui fornire informazioni. @column_name è sysname, con un valore predefinito .NULL
[ @ODBCVer = ] ODBCVer
Versione di ODBC in uso. @ODBCVer è int, con un valore predefinito .2
che indica ODBC versione 2. I valori validi sono 2
o 3
. Per informazioni sulle differenze di comportamento tra le versioni 2 e 3, vedere la specifica ODBC SQLColumns
.
Valori del codice restituito
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 la denominazione in tre parti per le tabelle (<qualifier>.<owner>.<name> ). In SQL Server 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. Questo campo restituisce sempre un valore. |
TABLE_NAME |
sysname | Nome della tabella o della vista. Questo campo restituisce sempre un valore. |
COLUMN_NAME |
sysname | Nome colonna, per ogni colonna dell'oggetto TABLE_NAME restituito. Questo campo restituisce sempre un valore. |
DATA_TYPE |
smallint | Valore int che corrisponde agli indicatori di tipo ODBC. Se si tratta di un tipo di dati di cui non è possibile eseguire il mapping a un tipo ODBC, questo valore è NULL . Il nome del tipo di dati nativo viene restituito nella TYPE_NAME colonna . |
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 PRECISION colonna è 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. |
NULLABLE |
smallint | Specifica se i valori Null sono supportati.1 = NULL è possibile.0 = NOT NULL . |
REMARKS |
varchar(254) | Questo campo restituisce NULL sempre . |
COLUMN_DEF |
varchar(254) | Valore predefinito della colonna. |
SQL_DATA_TYPE |
smallint | Valore del tipo di dati SQL visualizzato nel TYPE campo del descrittore. Questa colonna è la stessa della DATA_TYPE colonna, ad eccezione dei tipi di dati datetime e SQL-92 interval . Questa colonna restituisce sempre un valore . |
SQL_DATETIME_SUB |
smallint | Codice del sottotipo per i tipi di dati datetime e SQL-92 interval . Per altri tipi di dati, questa colonna restituisce 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, questa colonna restituisce NULL . |
ORDINAL_POSITION |
int | Posizione ordinale della colonna nella tabella. La prima colonna nella tabella è 1. Questa colonna restituisce sempre 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. Un DBMS conforme a ISO SQL non può restituire una stringa vuota.YES = La colonna può includere NULL .NO = La colonna non può includere 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 NULLABLE colonna. |
SS_DATA_TYPE |
tinyint | Tipo di dati di SQL Server, usato dalle stored procedure estese. |
Per altre informazioni, vedere Cenni preliminari su ODBC.
Osservazioni:
sp_columns_ex
viene eseguito eseguendo una query sulCOLUMNS
set di righe dell'interfacciaIDBSchemaRowset
del provider OLE DB corrispondente a @table_server. I parametri @table_name, @table_schema, @table_catalog e @column_name vengono passati a questa interfaccia per limitare le righe restituite.sp_columns_ex
restituisce un set di risultati vuoto se il provider OLE DB del server collegato specificato non supporta ilCOLUMNS
set di righe dell'interfacciaIDBSchemaRowset
.sp_columns_ex
segue i requisiti per gli identificatori delimitati. Per altre informazioni, vedere Identificatori di database.
Autorizzazioni
È richiesta SELECT
l'autorizzazione per lo schema.
Esempi
Nell'esempio seguente viene restituito il tipo di dati della colonna JobTitle
della tabella HumanResources.Employee
inclusa nel database AdventureWorks2022
disponibile nel server collegato Seattle1
.
EXEC sp_columns_ex 'Seattle1',
'Employee',
'HumanResources',
'AdventureWorks2022',
'JobTitle';