Das ist, was ich bisher habe. Wenn ich gültige Daten eingib und es ausführe, wird die Tabelle korrekt aktualisiert. Wenn ich es unter Verwendung von Autorennummern ausführe, von denen ich weiß, dass sie in der Tabelle nicht existieren, wird sie trotzdem ausgeführt und gibt die Ausnahmeanweisungen nicht aus. Weiß jemand, warum meine Ausnahmen nicht funktionieren? Jede Hilfe wäre dankbar, danke!Sqlplus mit gespeicherten Prozeduren, um eine Zeile zu aktualisieren
CREATE OR REPLACE PROCEDURE update_authorname
(selected_author_num IN NUMBER,
new_author_first IN CHAR,
new_author_last IN CHAR) AS
BEGIN
UPDATE author
SET author_first = new_author_first, author_last = new_author_last
WHERE author_num = selected_author_num;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
DBMS_OUTPUT.PUT_LINE('No author with this number exists: ' || selected_author_num);
WHEN ROWTYPE_MISMATCH
THEN
DBMS_OUTPUT.PUT_LINE('Error: There was a row type mismatch when updating');
END;
/
Dies ist, was ich die Prozedur aufzurufen verwendet: wird
BEGIN
update_authorname(6,'Emma','White');
END;
/
Vielen Dank! Es funktioniert jetzt. – Jessica