Selbstdefinierter-Fehler
Ein selbstdefinierter Laufzeitfehler ist eine deklarierte EXCEPTION, die mittels der RAISE-Anweisung ausgelöst wird.
Beispiel:
Eine Prozedur zum Löschen des Lagerbestand für Teile, die keine Materialien sind:
CREATE OR REPLACE PROCEDURE Loesche_Lagerbestand2 (p_Teilenr Teile.TNr%TYPE) IS v_Nr Teile.TNr%TYPE; v_Typ Teile.Typ%TYPE; err_material EXCEPTION; BEGIN SELECT TNr INTO v_Nr FROM Teile WHERE TNr = p_Teilenr; SELECT typ into v_Typ FROM teile WHERE TNR = p_teilenr; IF p_typ = 'Material' THEN RAISE err_material; END IF; DELETE FROM Lagerbestand WHERE TNr = p_Teilenr; COMMIT; EXCEPTION WHEN err_material THEN ROLLBACK; DBMS_OUTPUT.PUT_LINE ('Materialien dürfen nicht gelöscht werden!'); END;
Quellen:
- Faeskorn-Woyke, Heide; Bertelsmeier, Birgit; Riemer, Petra; Bauer, Elena: "Datenbanksysteme - Theorie und Praxis mit SQL2003, Oracle und MySQL", Pearson Education, München, 2007, ISBN 978-3-8273-7266-6
- Feuerstein, Steven, Pribyl. Bill: "Oracle PL/SQL Programming", O'Reilly, 2009, ISBN-13: 978-0596514464
- Oracle® Database SQL Language Reference 11g Release 1 (11.1) in http://docs.oracle.com/cd/B28359_01/server.111/b28286/toc.htm
- Oracle® Database PL/SQL Language Reference 11g Release 2 (11.2) in http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/toc.htm
- Saurabh, Gupta: "Oracle Advanced PL/SQL Developer Professional Guide", Packt Publishing Limited, 2012, ISBN 978-1-84968-722-5
Kategorie: Oracle-PL-SQL, S