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 è specificata la colonna.

Convenzioni di sintassi Transact-SQL

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 il quale restituire informazioni sulla colonna. table_server è sysname, senza impostazione predefinita.

[ @table_name = ] 'table_name' Nome della tabella per cui restituire informazioni sulla colonna. table_name è sysname, con valore predefinito NULL.

[ @table_schema = ] 'table_schema' Nome dello schema della tabella per cui restituire informazioni sulla colonna. table_schema è sysname, con valore predefinito NULL.

[ @table_catalog = ] 'table_catalog' Nome del catalogo della tabella per cui restituire informazioni sulla colonna. table_catalog è sysname, con valore predefinito NULL.

[ @column_name = ] 'column' Nome della colonna di database per cui fornire informazioni. column è sysname, con un valore predefinito NULL.

[ @ODBCVer = ] 'ODBCVer' Versione di ODBC in uso. ODBCVer è int, con un valore predefinito pari a 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 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 (qualificatore.proprietario.nome). 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 del TABLE_NAME restituito. Questo campo restituisce sempre un valore.
DATA_TYPE smallint Valore intero corrispondente agli indicatori del tipo di dati ODBC. Se si tratta di un tipo di dati di cui non è possibile eseguire il mapping 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.
NULLABLE smallint Specifica se i valori Null sono supportati.

1 = I valori Null sono supportati.

0 = I valori Null non sono supportati (NOT NULL).
OSSERVAZIONI varchar(254) In questo campo viene sempre restituito NULL.
COLUMN_DEF varchar(254) Valore predefinito della colonna.
SQL_DATA_TYPE smallint Valore del tipo di dati SQL visualizzato nel campo TYPE del descrittore. Questa colonna corrisponde alla colonna DATA_TYPE , 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 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. 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. 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 NULLABLE .
SS_DATA_TYPE tinyint Tipo di dati di SQL Server, usato dalle stored procedure estese.

Per ulteriori informazioni, vedere la documentazione di Microsoft ODBC.

Osservazioni:

  • sp_columns_ex viene eseguito eseguendo una query sul set di righe COLUMNS dell'interfaccia IDBSchemaRowset del provider OLE DB corrispondente a table_server. I parametri di table_name, table_schema, table_catalog e colonna 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 set di righe COLUMNS dell'interfaccia IDBSchemaRowset.

  • sp_columns_ex segue i requisiti per gli identificatori delimitati. Per altre informazioni, vedere Identificatori del database.

Autorizzazioni

È richiesta l'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 AdventureWorks2022 disponibile nel server collegato Seattle1.

EXEC sp_columns_ex 'Seattle1',   
   'Employee',   
   'HumanResources',   
   'AdventureWorks2022',   
   'JobTitle';  

Vedi anche

sp_catalogs (Transact-SQL)
sp_foreignkeys (Transact-SQL)
sp_indexes (Transact-SQL)
sp_linkedservers (Transact-SQL)
sp_primarykeys (Transact-SQL)
sp_tables_ex (Transact-SQL)
sp_table_privileges (Transact-SQL)
Stored procedure di sistema (Transact-SQL)