Condividi tramite


sp_columns (Transact-SQL)

Data aggiornamento: 17 luglio 2006

Restituisce le informazioni di colonna per le tabelle o viste specificate in cui è possibile eseguire query nell'ambiente corrente.

Icona di collegamento a un argomentoConvenzioni della 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 della tabella utilizzata per restituire informazioni di catalogo. object_name è di tipo nvarchar(384) e non prevede alcun valore predefinito. Le ricerche con caratteri jolly sono supportate.
  • [ @table_owner****=**] owner
    Proprietario della tabella o vista utilizzata per restituire informazioni di catalogo. owner è di tipo nvarchar(384) e il valore predefinito è NULL. Le ricerche con caratteri jolly sono supportate. Se owner viene omesso, vengono applicate le regole di visibilità della tabella o vista predefinite del DBMS sottostante.

    In SQL Server 2005, se l'utente corrente è il proprietario di una tabella o vista avente il nome specificato, vengono restituite le colonne di tale tabella. Se owner viene omesso e l'utente corrente non è il proprietario di una tabella o vista che include l'oggetto object specificato, sp_columns cerca una tabella o vista che include l'oggetto object specificato il cui proprietario corrisponda al proprietario del database. Se viene individuata, vengono restituite le colonne di tale tabella.

  • [ @table_qualifier****=] qualifier
    Nome del qualificatore di tabella o vista. qualifier è di tipo sysname e il valore predefinito è NULL. Vari prodotti DBMS supportano i nomi di tabella composti da tre parti, ovvero 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.
  • [ @column_name=] column
    Colonna singola utilizzata quando si desidera recuperare una sola colonna di informazioni di catalogo. column è di tipo nvarchar(384) e il valore predefinito è NULL. Se column viene omesso, vengono restituite tutte le colonne. In SQL Server, column rappresenta il nome di colonna utilizzato nella tabella syscolumns. Le ricerche con caratteri jolly sono supportate. 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 ODBC in uso. 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 funzionamento tra le due versioni, vedere la specifica SQLColumns di ODBC.

Set di risultati

La stored procedure di catalogo sp_columns corrisponde a SQLColumns in ODBC. I risultati restituiti vengono ordinati in base alle colonne TABLE_QUALIFIER, TABLE_OWNER e TABLE_NAME.

Nome colonna Tipo di dati Descrizione

TABLE_QUALIFIER

sysname

Nome del qualificatore di tabella o vista. Questo campo può essere NULL.

TABLE_OWNER

sysname

Nome del proprietario della tabella o vista. In questo campo viene sempre restituito un valore.

TABLE_NAME

sysname

Nome della tabella o vista. In questo campo viene sempre restituito un valore.

COLUMN_NAME

sysname

Nome di ogni colonna della tabella TABLE_NAME restituita. In questo campo viene sempre restituito un valore.

DATA_TYPE

smallint

Codice integer per il 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

sysname

Stringa che rappresenta un tipo di dati. Il DBMS sottostante presenta questo nome del tipo di dati.

PRECISION

int

Numero di cifre significative. Il valore restituito per la colonna PRECISION è in base 10.

LENGTH

int

Dimensioni di trasferimento dei dati.1

SCALE

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 o meno supportati:

1 = I valori Null sono supportati.

0 = I valori Null non sono supportati (NOT NULL).

REMARKS

varchar(254)

Questo campo restituisce sempre NULL.

COLUMN_DEF

nvarchar(4000)

Valore predefinito della colonna.

A differenza di quanto avviene in SQL Server 2000, in 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 funzionalità del Motore di database in SQL Server 2005.

SQL_DATA_TYPE

smallint

Valore del tipo di dati SQL visualizzato nel campo TYPE del descrittore. Questa colonna corrisponde alla colonna DATA_TYPE, tranne per i tipi di dati datetime e interval SQL-92. In questa colonna viene sempre restituito un valore.

SQL_DATETIME_SUB

smallint

Codice di sottotipo per i tipi di dati SQL-92 datetime e interval. Per gli altri tipi di dati questa colonna restituisce NULL.

CHAR_OCTET_LENGTH

int

Lunghezza massima 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. 1 corrisponde alla prima colonna nella tabella. In questa colonna viene sempre restituito un valore.

IS_NULLABLE

varchar(254)

Supporto dei valori Null per la colonna nella 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 = Le colonne supportano valori Null.

NO = Le colonne non supportano valori Null.

Questa colonna restituisce una stringa di lunghezza zero quando non è noto se i valori Null sono o meno supportati.

Il valore restituito per questa colonna è diverso dal valore restituito per la colonna NULLABLE.

SS_DATA_TYPE

tinyint

Tipo di dati SQL Server utilizzato dalle stored procedure estese. Per ulteriori informazioni, vedere Tipi di dati (Transact-SQL).

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

Autorizzazioni

È richiesta l'autorizzazione SELECT per lo schema.

Valori restituiti

Nessuno

Esempi

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

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

Vedere anche

Riferimento

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

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

17 luglio 2006

Nuovo contenuto:
  • Aggiunta, nella colonna COLUMN_DEF, di contenuto relativo alle modalità di archiviazione delle espressioni SQL in SQL Server 2005.