Allows you to transfer the current database attach to another user.
1 – Environment
You can use the SET SESSION AUTHORIZATION statement: o In interactive SQL o Embedded in host language programs to be precompiled o As part of a procedure in an SQL module o In dynamic SQL as a statement to be dynamically executed
2 – Format
SET SESSION AUTHORIZATION -+-> host-variable -------+--> +-> 'literal-user-auth' -+ literal-user-auth = ---> USER '<username>' -+------------------------+--> +-> USING '<password>' -+
3 – Arguments
3.1 – host-variable
Specifies the name of the user and the password to whom the database attach is being transferred as a string literal or a host variable. If a host-variable is specified, it must contain the literal-user-auth as a string literal.
3.2 – USER 'username'
A character string literal that specifies the operating system user name that the database system uses for privilege checking.
3.3 – USING 'password'
A character string literal that specifies the user's password for the user name specified in the USER clause.
4 – Usage Notes
o You must have the SELECT privilege on the database to set session authorization. o The specified user and password (in the USING clause) must be a valid OpenVMS user authorization. o If the operation is successful, the SESSION_USER and SESSION_ UID will be changed to reflect the specified OpenVMS user. o No transaction can be active when the session authorization is modified by this statement.
5 – Examples
Example 1: Reusing the Current Database Attach for Another User SQL> ATTACH 'FILENAME db$:personnel'; SQL> SET SESSION AUTHORIZATION 'USER ''SMITH'' USING ''SECRET1'''; SQL> SHOW PRIV ON DATABASE RDB$DBHANDLE Privileges on Alias RDB$DBHANDLE (IDENTIFIER =[RDB,SMITH],ACCESS=SELECT+INSERT+UPDATE+DELETE+SHOW+CREATE+ ALTER+DROP+DBCTRL+OPERATOR+DBADM+REFERENCES+SECURITY+DISTRIBTRAN) SQL> SET SESSION AUTHORIZATION 'USER ''JAIN'' USING ''SECRET2'''; SQL> SHOW PRIV ON DATABASE RDB$DBHANDLE Privileges on Alias RDB$DBHANDLE (IDENTIFIER =[RDB,JAIN],ACCESS=SELECT+INSERT+UPDATE+DELETE+SHOW+CREATE+ ALTER+DROP+DBCTRL+OPERATOR+DBADM+REFERENCES+SECURITY+DISTRIBTRAN)