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.
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.
Danke, hat mir sehr geholfen
AntwortenLöschen