IF NOT EXISTS składnia dostępna w SQL Server, nie jest dostępna w Oracle.
Ogólnie rzecz biorąc, skrypty Oracle po prostu wykonują CREATE instrukcji, a jeśli obiekt już istnieje, otrzymasz błąd wskazujący to, który możesz zignorować. To właśnie robią wszystkie standardowe skrypty wdrażania Oracle.
Jeśli jednak naprawdę chcesz sprawdzić istnienie i wykonać tylko wtedy, gdy obiekt nie istnieje, unikając w ten sposób błędu, możesz zakodować PL/SQL blok. Napisz SQL który sprawdza istnienie użytkownika, a jeśli nie istnieje, użyj EXECUTE IMMEDIATE zrobić CREATE USER z PL/SQL blokować.
Przykładem takiego bloku PL/SQL może być:
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;
/