در زمان ساخت یک object، اگر آن object از قبل موجود باشد، با خطای already exist مواجه خواهیم شد همچنین اگر قصد حذف کردن شی ای که موجود نیست را داشته باشیم، خطای does not exist رخ خواهد داد. برای جلوگیری از این دو خطا می توان از عبارت if [not] exists استفاده کرد.
برای مثال، جدول TB از قبل وجود دارد اگر از این مسئله مطمئن نیستیم، می توانیم دستور ساخت این جدول را با استفاده از عبارت if not exists اجرا کرده تا از خطای احتمالی ORA-00955 جلوگیری کنیم:
SQL> create table tb (c1 number(10)); ORA-00955: name is already used by an existing object SQL> create table if not exists tb (c1 number(10)); Table created SQL> create table if not exists tb (c1 number(10)); Table created
این عبارت برای دستورات DDLای دیگر هم کاربرد دارد:
SQL> drop sequence ss; ORA-02289: sequence does not exist SQL> drop sequence if exists ss; Sequence dropped