在ALTER语句中使用查询结果(Oracle)

时间:2015-12-02 20:53:24

标签: sql oracle

我正在尝试创建一个脚本来更新给定表中列出的大量用户的密码。

alter user FOO identified by FOOWORD;

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

select owner from usertable_verson where rownum = 1

有没有办法组合这两个语句,以便alter user命令适用于select命令的每个结果?

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

1 个答案:

答案 0 :(得分: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;