2015-12-02 56 views
0

我试图创建一个脚本来更新给定表中列出的大量用户的密码。在ALTER语句(Oracle)中使用查询结果

alter user FOO identified by FOOWORD; 

我可以调用通过下面的语句的用户名:

select owner from usertable_verson where rownum = 1 

有没有办法这两个语句结合起来,使ALTER USER命令对于选择命令的每个结果?

最终目标是为所选列中的每个用户名创建一个循环,并将密码更改应用于每个用户。

回答

2

你可以像这样通过dynamic SQL 水木清华这样做:

begin 
    for rc in (select owner from usertable_verson) loop 
    execute immediate 'alter user '||rc.owner||' identified by FOOWORD'; 
    end loop; 
end;