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
(B)0[m[1;4mSET[m[1m [1;4mSESSION[m[1m [1;4mAUTHORIZATION[m[1m qwq> host-variable qqqqqqqwqq>[m [1mmq> 'literal-user-auth' qj[m (B)0[m[1mliteral-user-auth = [m [1m [m [1mqqq> [1;4mUSER[m[1m '<username>' qwqqqqqqqqqqqqqqqqqqqqqqqqwqq> [m [1m mq> [1;4mUSING[m[1m '<password>' qj [m [1m [m
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)