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 NULLsempre .
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 sul COLUMNS set di righe dell'interfaccia IDBSchemaRowset 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 il COLUMNS set di righe dell'interfaccia IDBSchemaRowset .

  • 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';