SET SESSION AUTHORIZATION legt den aktuellen Berechtigungsschlüssel für die SQL-Session fest.
Der aktuelle Berechtigungsschlüssel einer SQL-Session wird entweder mit einer ESQL-Precompiler-Option oder mit der Anweisung SET SESSION AUTHORIZATION festgelegt. Wird an beiden Stellen kein Berechtigungsschlüssel festgelegt, so wird der voreingestellte Berechtigungsschlüssel D0USER
als aktueller Berechtigungsschlüssel der SQL-Session verwendet.
Die mit SET SESSION AUTHORIZATION festgelegte Einstellung wird rückgängig gemacht, wenn die unmittelbar folgende Transaktion - bei openUTM die aktuelle UTM-Transaktion - zurückgesetzt wird. Das gilt auch dann, wenn die folgende Transaktion lediglich CALL-DML-Anweisungen enthält.
Andernfalls gilt der mit SET SESSION AUTHORIZATION festgelegte Berechtigungsschlüssel bis ein neuer Berechtigungsschlüssel mit SET SESSION AUTHORIZATION eingestellt wird oder bis zum Ende der SQL-Session.
Die Anweisung SET SESSION AUTHORIZATION leitet keine Transaktion ein und darf nur außerhalb einer SQL-Transaktion verwendet werden.
SET SESSION AUTHORIZATION
neuer_berechtigungsschlüssel
neuer_berechtigungsschlüssel ::= {
alphanumerisches_literal | :
benutzervariable }
neuer_berechtigungsschlüssel
Name des neuen Berechtigungsschlüssels, der für die SQL-Session gelten soll. Der neue Berechtigungsschlüssel gilt bis zur nächsten Anweisung SET SESSION AUTHORIZATION.
alphanumerisches_literal
Der neue Berechtigungsschlüssel wird als alphanumerisches Literal (nicht in der sedezimalen Form) vom Typ CHAR angegeben.
benutzervariable
Der neue Berechtigungsschlüssel wird als alphanumerische Benutzervariable vom Typ CHAR oder VARCHAR angegeben. Die Benutzervariable darf kein Vektor sein und keine zugeordnete Indikatorvariable besitzen.
Beispiele
Für die aktuelle SQL-Session wird ein neuer Berechtigungsschlüssel festgelegt. Der aktuelle UTM- bzw. BS2000-Benutzer muss einen Systemzugang mit diesem Berechtigungsschlüssel besitzen.
SET SESSION AUTHORIZATION 'utiverw'
Der Berechtigungsschlüssel für die aktuelle SQL-Session wird als Benutzervariable angegeben.
SET SESSION AUTHORIZATION :USER-NAME