Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Criando um usuário Oracle se ainda não existir


O IF NOT EXISTS sintaxe disponível no SQL Server, não está disponível no Oracle.

Em geral, os scripts Oracle simplesmente executam o comando CREATE declaração, e se o objeto já existir, você receberá um erro indicando isso, que você pode ignorar. Isso é o que todos os scripts de implantação padrão do Oracle fazem.

No entanto, se você realmente quiser verificar a existência, e só executar se o objeto não existir, evitando assim o erro, você pode codificar um PL/SQL quadra. Escreva um SQL que verifica a existência do usuário e, se não existir, use EXECUTE IMMEDIATE para fazer CREATE USER do PL/SQL quadra.

Um exemplo de tal bloco PL/SQL pode ser:
declare
userexist integer;
begin
  select count(*) into userexist from dba_users where username='SMITH';
  if (userexist = 0) then
    execute immediate 'create user smith identified by smith';
  end if;
end;
/