DROP TABLE IF EXISTS (or SEQUENCE or INDEX or COLUMN) - ohne ORA- Fehler

Scripting:
Leider habe ich keine SQL-Möglichkeit gefunden ORA-00942 Fehler bei DROP TABLE im Script zu vermeiden: Die Tabelle soll durch DROP ja gelöscht werden und wenn diese nicht existiert (= ORA-00942 Table does not exists) ist das eigentlich kein Fehler.

meine Lösung:

begin execute immediate'
  DROP TABLE list_pzn
  ';
exception when others then if sqlcode = -1418 then null; else raise; end if; -- Index 
--exception when others then if sqlcode = -2289 then null; else raise; end if; -- Sequenz  
--exception when others then if sqlcode = -942 then null; else raise; end if; -- Tabelle
--exception when others then if sqlcode = -2443 then null; else raise; end if; -- Constraint 
--exception when others then if sqlcode = -1918 then null; else raise; end if; -- User 
--exception when others then if sqlcode = -4043 then null; else raise; end if; --Type
--exception when others then if sqlcode = -904 then null; else raise; end if; -- Spalte 
end;




Nachteil: Die DROP-Syntax kann durch Tools wie Toad nicht vorher geparst werden.

Kommentare

Kommentar veröffentlichen

Beliebte Posts aus diesem Blog

PGA unter Oracle 11g

trunc(sysdate) - nette Spiele mit dem Datum

Datapump - Verzeichnis erstellen