【发布时间】:2016-07-11 07:07:27
【问题描述】:
这是我目前所拥有的。当我输入有效数据并运行它时,表会正确更新。当我使用我知道表中不存在的作者编号运行它时,它仍然运行,并且不输出异常语句。有谁知道为什么我的例外似乎不起作用。任何帮助将不胜感激谢谢!
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;
/
这就是我以前所说的过程:
BEGIN
update_authorname(6,'Emma','White');
END;
/
【问题讨论】:
标签: oracle stored-procedures plsql sqlplus