SECLABEL_BY_NAME funzione scalare
La funzione SECLABEL_BY_NAME restituisce l'etichetta di sicurezza specificata. L'etichetta di sicurezza restituita ha un tipo di dati DB2SECURITYLABEL. Utilizzare questa funzione per inserire un'etichetta di sicurezza denominata.
Lo schema è SYSIBM.
- security - policy - name
- Una stringa che specifica una politica di sicurezza che esiste al server corrente (SQLSTATE 42704). La stringa deve essere un carattere o una stringa costante o variabile host. nome - etichetta - etichetta
- Un'espressione che restituisce il nome di un'etichetta di sicurezza che esiste al server corrente per la politica di sicurezza denominata da security - policy - name (SQLSTATE 4274I). L'espressione deve restituire un valore che è un tipo di dati integrato di tipo CHAR, VARCHAR, GRAPHIC o VARGRAPHIC.
Esempi
Nei seguenti esempi, Tina cerca di inserire una riga nella tabella REGIONI protetta dalla politica di sicurezza denominata CONTRIBUTI. Tina vuole che la fila sia protetta dall'etichetta di sicurezza denominata EMPLOYEESECLABEL.
- Esempio 1: questa istruzione ha esito negativo perché CONTRIBUTIONS.EMPLOYEESECLABEL è un identificativo sconosciuto:
INSERT INTO REGIONS VALUES (CONTRIBUTIONS.EMPLOYEESECLABEL, 1, 'Southwest') -- incorrect - Esempio 2: questa istruzione non riesce perché il primo valore è una stringa, non ha un tipo di dati DB2SECURITYLABEL:
INSERT INTO REGIONS VALUES ('CONTRIBUTIONS.EMPLOYEESECLABEL', 1, 'Southwest') -- incorrect - Esempio 2: questa istruzione riesce perché la funzione SECLABEL_BY_NAME restituisce un'etichetta di sicurezza che ha un tipo di dati DB2SECURITYLABEL:
INSERT INTO REGIONS VALUES (SECLABEL_BY_NAME('CONTRIBUTIONS', 'EMPLOYEESECLABEL'), 1, 'Southwest') -- correct
