Muitas vezes é necessário fazer algumas operações repetitivas / poucas consultas de linha contra um conjunto de objetos. Digamos que você tenha uma lista de contas para desbloquear via
alter user %username% account unlock
e em vez de digitar a mesma linha várias vezes para cada usuário, acredito que alguma construção de ciclo possa ser usada, mas não sei como escrevê-la em PL/SQL. Alguém pode aconselhar sobre isso?
Isso funciona. Cuidado, já vi pessoas fazendo coisas semelhantes sem testar, destruindo bancos de dados com eficácia, especialmente ao usar padrões e manipular objetos de banco de dados com os resultados. Se a saída estiver OK, ative a execução imediata.
Você pode gerar esse tipo de instrução usando SQL dinâmico, por exemplo
Acompanhando seu último comentário, se você quiser enumerar manualmente os nomes de usuário, pode usar uma coleção PL/SQL, como uma tabela aninhada, por exemplo
Para realmente executar os comandos em vez de apenas imprimi-los, substitua
dbms_output.put_line
porexecute immediate
.