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;
/