2010-04-23 25 views
5

Tôi có một kịch bản psql trông như thế này:Có cách nào để khôi phục và thoát khỏi tập lệnh psql do lỗi không?

-- first set of statements 
begin 
sql statement; 
sql statement; 
sql statement; 
exception 
    when others then 
    rollback 
    write some output 
    (here I want to exit the entire script and not continue on to the next set of statements) 
end 
/
-- another set of statements 
begin 
sql statement; 
sql statement; 
sql statement; 
exception 
    when others then 
    rollback 
    write some output 
    (here I want to exit the entire script and not continue) 
end 
/
... and so on 

Có thể thoát khỏi kịch bản và ngừng xử lý phần còn lại của kịch bản?

Trả lời

8

Đặt những dòng này ở phía trên cùng của tập tin của bạn:

WHENEVER OSERROR EXIT ROLLBACK 
WHENEVER SQLERROR EXIT ROLLBACK 

... và chắc chắn rằng bạn có một RAISE; ở phần cuối của bộ xử lý ngoại lệ của bạn.

+0

Tôi nghĩ rằng đây là nó. Cảm ơn bạn! – dtc

1

Hmmm ... PL/SQL có GOTO để bạn có thể chuyển đến nhãn bạn đặt ngay ở cuối tập lệnh.
ví dụ:

GOTO the_end; 
[rest of script here] 
<<the_end>> 
Các vấn đề liên quan