|
|
|
Is it possible to use it in PSQL with parameters?
e.g. declare variable USER_NAME char(32); declare variable PASSWD char(32); for select USER_NAME, PASSWD from MY_USERS into :USER_NAME, :PASSWD do begin CREATE USER :USER_NAME PASSWORD :PASSWD; end Thank you! No. It was not planned to be used in PSQL, even without parameters (exactly like the rest of DDL).
But if you want/need, you can prepare text string with operator, and use EXECUTE STATEMENT, which can run DDL. EXECUTE STATEMENT overhead can be treated as minor compared with DDL itself. Remember no to expect users to arrive before whole transaction commit! Thank you very much?
Could you please give a short example of how to prepare SQL statement and use EXECUTE STATEMENT in procedure? | ||||||||||||||||||||||||||||||||||||||||||||||||||||
CREATE USER name PASSWORD 'pass' [FIRSTNAME 'text'] [MIDDLENAME 'text'] [LASTNAME 'text'];
ALTER USER name [SET] [PASSWORD 'pass'] [FIRSTNAME 'text'] [MIDDLENAME 'text'] [LASTNAME 'text']; -- at least one of PASSWORD / FIRSTNAME / MIDDLENAME / LASTNAME is required
DROP USER name;
Non-privileged (non-SYSDBA) user can use only:
ALTER USER my_name ....