Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Nhận bản dựng con rối không thành công khi tập lệnh SQL chứa không thực thi được

Tôi tin rằng con rối phát hiện sự thành công của tập lệnh dựa trên mã trả về của chương trình được gọi. Theo mặc định, sqlplus trả về 0 khi bạn đóng nó, bất kể những gì có thể đã được chạy trong phiên.

[[email protected] ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Thu Apr 17 08:47:08 2014

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select asdjkhasd from sadbjaksd;
select asdjkhasd from sadbjaksd
                      *
ERROR at line 1:
ORA-00942: table or view does not exist


SQL> quit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[[email protected] ~]$ echo $?
0

Nếu bạn muốn sqlplus thoát với trạng thái lỗi, bạn có thể sử dụng lệnh bất cứ khi nào, ví dụ:

[[email protected] ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Thu Apr 17 08:48:17 2014

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> whenever sqlerror exit failure;
SQL> select bogus from nowhere;
select bogus from nowhere
                  *
ERROR at line 1:
ORA-00942: table or view does not exist


Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[[email protected] ~]$ echo $?
1

Lưu ý mã trả lại khác nhau trong trường hợp thứ hai. Điều này đủ để cho con rối biết lệnh không thành công.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thực thi ngay lập tức với loại không phải Sql

  2. ngày / giờ Chuyển đổi giữa các múi giờ khác nhau

  3. Cách định dạng một số bằng dấu phẩy trong Oracle

  4. Nhận tham số đầu ra oracle bằng OracleCommand

  5. Đưa ra lựa chọn khi di chuyển Oracle PL / SQL sang các lớp Java / EJB