मेरा मानना है कि कठपुतली कार्यक्रम के रिटर्न कोड के आधार पर स्क्रिप्ट की सफलता का पता लगाती है। डिफ़ॉल्ट रूप से, sqlplus 0 देता है जब आप इसे बंद करते हैं, भले ही सत्र के दौरान क्या चलाया गया हो।
[[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
यदि आप चाहते हैं कि sqlplus त्रुटि स्थिति के साथ बाहर निकले, तो आप जब भी कमांड का उपयोग कर सकते हैं, उदा.
[[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
बाद के मामले में अलग रिटर्न कोड पर ध्यान दें। कठपुतली को यह बताने के लिए पर्याप्त होना चाहिए कि आदेश विफल हो गया है।