请问,如何通过运行存储过程修改用户自己的密码?

解决方案 »

  1.   

    oracle用戶的密碼?使用動態sql
      

  2.   

    能告诉我一些動態sql的使用方法吗?谢谢!!
      

  3.   

    alter user 用户名 identified by 新密码;
      

  4.   

    最好自己去找資料,不同的版本的對動態SQL語句的支持不一樣的。這是我寫的一個例子,ORACLE817
    SQL_TEXT:='UPDATE CM_PART_ST_MATERIAL_COST SET ASSIGN_REFER_VALUE= A'
    CUR_ID:=DBMS_SQL.OPEN_CURSOR;
    DBMS_SQL.PARSE(CUR_ID,SQL_TEXT,DBMS_SQL.NATIVE);
    STAT:=DBMS_SQL.EXECUTE(CUR_ID);
    DBMS_SQL.CLOSE_CURSOR(CUR_ID);
      

  5.   

    一个动态sql的例子,参考:
    --oracle 817create or replace function test return varchar2 as
        v_cursor number;
        v_string varchar2(200);
        v_row number;
    begin
        v_cursor:=dbms_sql.open_cursor;
        v_string:='create table testdb (text varchar2(200))';
        dbms_sql.parse(v_cursor,v_string,dbms_sql.native);
        v_row:=dbms_sql.execute(v_cursor);
        dbms_sql.close_cursor(v_cursor);
        return ('成功执行'||v_row||'行!');
        exception
            when others then
                dbms_sql.close_cursor(v_cursor);
                return ('执行失败!'||sqlcode||sqlerrm);
                raise;
    end;