IF NOT EXISTS
sintaks tersedia di SQL Server, tidak tersedia di Oracle.
Secara umum, skrip Oracle cukup menjalankan CREATE
pernyataan, dan jika objek sudah ada, Anda akan mendapatkan kesalahan yang menunjukkan itu, yang dapat Anda abaikan. Inilah yang dilakukan semua skrip penerapan Oracle standar.
Namun, jika Anda benar-benar ingin memeriksa keberadaan, dan hanya mengeksekusi jika objek tidak ada, sehingga menghindari kesalahan, Anda dapat membuat kode PL/SQL
memblokir. Tulis SQL
yang memeriksa keberadaan pengguna, dan jika tidak ada, gunakan EXECUTE IMMEDIATE
untuk melakukan CREATE USER
dari PL/SQL
blokir.
Contoh blok PL/SQL seperti itu mungkin:
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;
/