sp_columns (Transact-SQL)

Si applica a:SQL Server database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics AnalyticsPlatform System (PDW)SQL analytics endpoint in Microsoft FabricWarehouse in Microsoft Fabric

Vengono restituite le informazioni di colonna per gli oggetti specificati per cui è possibile eseguire una query nell'ambiente corrente.

Convenzioni di sintassi Transact-SQL

Sintassi

sp_columns [ @table_name = ] object  
     [ , [ @table_owner = ] owner ]   
     [ , [ @table_qualifier = ] qualifier ]   
     [ , [ @column_name = ] column ]   
     [ , [ @ODBCVer = ] ODBCVer ]  

Argomenti

[ @table_name = ] object Nome dell'oggetto utilizzato per restituire informazioni sul catalogo. l'oggetto può essere una tabella, una vista o un altro oggetto con colonne come funzioni con valori di tabella. l'oggetto è nvarchar(384), senza impostazione predefinita. La ricerca con caratteri jolly è supportata.

[ @table_owner = ] owner Proprietario dell'oggetto utilizzato per restituire informazioni sul catalogo. owner è nvarchar(384), con un valore predefinito NULL. La ricerca con caratteri jolly è supportata. Se il proprietario non è specificato, si applicano le regole di visibilità degli oggetti predefinite del sistema DBMS sottostante.

Se l'utente corrente è il proprietario di un oggetto con il nome specificato, vengono restituite le colonne di tale oggetto. Se il proprietario non è specificato e l'utente corrente non è proprietario di un oggetto con l'oggetto specificato, sp_columns cerca un oggetto con l'oggetto specificato di proprietà del proprietario del database. Se viene individuato, vengono restituite le colonne di tale oggetto.

[ @table_qualifier = ] qualifier Nome del qualificatore dell'oggetto. Il qualificatore è sysname, con un valore predefinito NULL. Vari prodotti DBMS supportano la denominazione in tre parti per gli oggetti (qualificatore.proprietario.nome). In SQL Server questa colonna rappresenta il nome del database. In alcuni prodotti rappresenta il nome del server dell'ambiente di database dell'oggetto.

[ @column_name = ] column È una singola colonna e viene utilizzata quando si desidera una sola colonna di informazioni sul catalogo. column è nvarchar(384), con valore predefinito NULL. Se la colonna non è specificata, vengono restituite tutte le colonne. In SQL Server la colonna rappresenta il nome della colonna come indicato nella tabella syscolumns . La ricerca con caratteri jolly è supportata. Per ottenere la massima interoperabilità, è consigliabile che nel client di gateway siano utilizzati solo i caratteri jolly standard di SQL-92, ovvero i caratteri % e _.

[ @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 le differenze di comportamento tra le versioni 2 e 3, vedere la specifica ODBC SQLColumns .

Valori del codice restituito

None

Set di risultati

La stored procedure del catalogo sp_columns equivale a SQLColumns in ODBC. I risultati restituiti vengono ordinati in base a TABLE_QUALIFIER, TABLE_OWNER e TABLE_NAME.

Nome colonna Tipo di dati Descrizione
TABLE_QUALIFIER sysname Nome del qualificatore dell'oggetto. Questo campo può essere NULL.
TABLE_OWNER sysname Nome del proprietario dell'oggetto. Questo campo restituisce sempre un valore.
TABLE_NAME sysname Nome dell'oggetto. 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 Codice integer per il 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 sysname Stringa che rappresenta un tipo di dati. Il DBMS sottostante utilizza questo nome del tipo di dati.
PRECISION int Numero di cifre significative. Il valore restituito per la colonna PRECISION è in base 10.
LENGTH int Trasferire le dimensioni dei dati.1
SCALA smallint Numero di cifre a destra del separatore decimale.
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 nvarchar(4000) 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 nell'oggetto. La prima colonna nell'oggetto è 1. Questa colonna restituisce sempre un valore .
IS_NULLABLE varchar(254) Supporto di valori Null della colonna dell'oggetto. 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 altre informazioni, vedere Tipi di dati (Transact-SQL).

1 Per altre informazioni, vedere la documentazione di Microsoft ODBC.

Autorizzazioni

Richiede le autorizzazioni edizione Standard LECT e VIEW DEFINITION per lo schema.

Osservazioni:

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

Esempi

Nell'esempio seguente vengono restituite informazioni sulle colonne della tabella specificata.

USE AdventureWorks2022;  
GO  
EXEC sp_columns @table_name = N'Department',  
   @table_owner = N'HumanResources';  

Esempi: Azure Synapse Analytics e Piattaforma di strumenti analitici (PDW)

Nell'esempio seguente vengono restituite informazioni sulle colonne della tabella specificata.

-- Uses AdventureWorks  
  
EXEC sp_columns @table_name = N'DimEmployee',  
   @table_owner = N'dbo';  

Vedi anche

sp_tables (Transact-SQL)
Stored procedure del catalogo (Transact-SQL)
Stored procedure di sistema (Transact-SQL)