Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> Re: I got ORA-03001: unimplemented feature
you have no space between userid and 'identified by'. put a leading space - ' identified by ' - and the problem goes away.
i'd use "alter user", rather than "grant ..."
-- Andrew - Wizzard barnetaj_at_bp.com TL <lamkin_at_tiac.net> wrote in article <01bd4d42$ad5bd960$a94c3dd1_at_l58cb9>...Received on Wed Mar 11 1998 - 00:00:00 CST
> Ok, so I could not do it in a trigger because of the implicit COMMIT.
> Fine, now I try it from a straight stored procedure and I get the message
> above ORA-03001: unimplemented feature.
>
> The code below is trying to issue the GRANT statement, but fails. I
don't
> believe that this is unimplemented in version 7.3?
>
> PROCEDURE ChangePassword (userID IN VARCHAR2) IS
>
> cid integer;
> userPassword varchar2(15);
> sqlCommand varchar2(255) := 'GRANT CONNECT TO '
> || userID
> || 'IDENTIFIED BY '
> || 'x' || userPassword;
> BEGIN
> SELECT cur_pswd_cde INTO userPassword FROM tbw006_usr WHERE id = userID;
>
>
> DBMS_OUTPUT.PUT_LINE ('stored procedure gets password ' ||
userPassword);
> cid := DBMS_SQL.OPEN_CURSOR;
> DBMS_SQL.PARSE(cid, sqlCommand, dbms_sql.v7);
> DBMS_SQL.CLOSE_CURSOR(cid);
> DBMS_OUTPUT.PUT_LINE ('we finished the stored procedure');
> END;