sp_column_privileges (Transact-SQL)
Restituisce informazioni sui privilegi delle colonne di una tabella dell'ambiente corrente.
Sintassi
sp_column_privileges [ @table_name = ] 'table_name'
[ , [ @table_owner = ] 'table_owner' ]
[ , [ @table_qualifier = ] 'table_qualifier' ]
[ , [ @column_name = ] 'column' ]
Argomenti
[ @table_name = ] 'table_name'
Tabella utilizzata per restituire informazioni del catalogo. table_name è di tipo sysname e non prevede alcun valore predefinito. Le ricerche con caratteri jolly non sono supportate.[ @table_owner = ] 'table_owner'
Proprietario della tabella utilizzata per ottenere le informazioni del catalogo. table_owner è di tipo sysname e il valore predefinito è NULL. Le ricerche con caratteri jolly non sono supportate. Se table_owner viene omesso, vengono applicate le regole di visibilità della tabella predefinite del sistema di gestione di database (DBMS) sottostante.Se l'utente corrente è il proprietario di una tabella avente il nome specificato, vengono restituite le colonne di tale tabella. Se table_owner viene omesso è l'utente corrente non è il proprietario di una tabella con il nome table_name specificato, sp_column privileges esegue la ricerca di una tabella con nome table_name che appartenga al proprietario del database. Se viene individuata, vengono restituite le colonne di tale tabella.
[ @table_qualifier = ] 'table_qualifier'
Nome del qualificatore di tabella. table_qualifier è di tipo sysname e il valore predefinito è NULL. Vari prodotti DBMS supportano i nomi di tabella composti da tre parti (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 utilizzata quando si desidera ottenere una sola colonna di informazioni del catalogo. column è di tipo nvarchar(384) e il valore predefinito è NULL. Se column viene omesso, vengono restituite tutte le colonne. In SQL Servercolumn rappresenta il nome di colonna elencato nella tabella sys.columns. In column possono essere presenti caratteri jolly che utilizzano i criteri di corrispondenza del sistema DBMS sottostante. Per ottenere la massima interoperabilità, è consigliabile che nel client del gateway vengano utilizzati solo i caratteri jolly dello standard ISO, ovvero i caratteri % e _.
Set di risultati
sp_datatype_privileges corrisponde a SQLColumnPrivileges in ODBC. I risultati restituiti sono ordinati per TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME, COLUMN_NAME e PRIVILEGE.
Nome colonna |
Tipo di dati |
Descrizione |
---|---|---|
TABLE_QUALIFIER |
sysname |
Nome del qualificatore della tabella. Questo campo può essere NULL. |
TABLE_OWNER |
sysname |
Nome del proprietario della tabella. Questo campo restituisce sempre un valore. |
TABLE_NAME |
sysname |
Nome della tabella. Questo campo restituisce sempre un valore. |
COLUMN_NAME |
sysname |
Nome di ogni colonna della tabella TABLE_NAME restituita. Questo campo restituisce sempre un valore. |
GRANTOR |
sysname |
Nome dell'utente del database che ha concesso le autorizzazioni per la colonna COLUMN_NAME all'utente GRANTEE specificato. In SQL Server questa colonna corrisponde sempre a TABLE_OWNER. Questo campo restituisce sempre un valore. La colonna GRANTOR può rappresentare il proprietario del database (TABLE_OWNER) o un utente a cui il proprietario del database ha concesso le autorizzazioni tramite la clausola WITH GRANT OPTION dell'istruzione GRANT. |
GRANTEE |
sysname |
Nome dell'utente del database a cui l'utente GRANTOR specificato ha concesso le autorizzazioni per la colonna COLUMN_NAME. In SQL Server questa colonna include sempre un utente di database della tabella sysusers. Questo campo restituisce sempre un valore. |
PRIVILEGE |
varchar(32) |
Una delle autorizzazioni di colonna disponibili. Le autorizzazioni di colonna possono essere rappresentate da uno dei valori riportati di seguito o da altri valori supportati dall'origine dei dati in fase di definizione dell'implementazione: SELECT = l'utente GRANTEE può recuperare dati per le colonne. INSERT = l'utente GRANTEE può fornire dati per la colonna specificata quando inserisce nuove righe nella tabella. UPDATE = l'utente GRANTEE può modificare i dati della colonna. REFERENCES = l'utente GRANTEE può fare riferimento a una colonna di una tabella esterna in una relazione chiave primaria/chiave esterna. Questo tipo di relazione viene definito tramite vincoli di tabella. |
IS_GRANTABLE |
varchar(3) |
Indica se l'utente GRANTEE può concedere autorizzazioni ad altri utenti (autorizzazione per la concessione di autorizzazioni). I possibili valori sono YES, NO e NULL. Un valore sconosciuto, o NULL, fa riferimento a un'origine dei dati per la quale questo tipo di assegnazione indiretta delle autorizzazioni non è consentito. |
Osservazioni
In SQL Server le autorizzazioni vengono concesse tramite l'istruzione GRANT e rimosse tramite l'istruzione REVOKE.
Autorizzazioni
È richiesta l'autorizzazione SELECT per lo schema.
Esempi
Nell'esempio seguente vengono restituite informazioni sui privilegi di una colonna specifica.
USE AdventureWorks2008R2;
GO
EXEC sp_column_privileges @table_name = 'Employee'
,@table_owner = 'HumanResources'
,@table_qualifier = 'AdventureWorks2008R2'
,@column_name = 'SalariedFlag';
Vedere anche