Tôi đang học PL/SQL những ngày này và hiện đang làm việc với Thủ tục và ngoại lệ bằng lược đồ HR oracle.Ngoại lệ PL/SQL trên Cập nhật/Xóa hàng không tồn tại
Đây là thủ tục đơn giản của tôi.
create or replace
PROCEDURE DEL_JOB
(p_jobid jobs.job_id%TYPE)
AS
sqle NUMBER;
sqlm VARCHAR2(300);
BEGIN
DELETE FROM JOBS
WHERE JOB_ID = UPPER(p_jobid);
IF SQL%NOTFOUND THEN
DBMS_OUTPUT.PUT_LINE('No such record');
END IF;
EXCEPTION
WHEN OTHERS THEN
sqle := SQLCODE;
sqlm := SQLERRM;
DBMS_OUTPUT.PUT_LINE('There is no job with this id that could be deleted');
DBMS_OUTPUT.PUT_LINE('Error Code ='||sqle||' Error message =' ||sqlm);
END;
Khi tôi thực hiện thủ tục này đầu ra là
No such record
PL/SQL procedure successfully complete.
Tuy nhiên, theo Oracle PDF cần ném một ngoại lệ và tôi thực sự sẽ nhận được thông điệp mà tôi nhập vào là ngoại lệ.
Điều tương tự cũng xảy ra với bản Cập nhật về bản ghi không tồn tại. Vui lòng thông báo. Cảm ơn
cảm ơn bạn Tôi chỉ muốn xác nhận không thiếu bất cứ điều gì. – MStp