我想趕可能發生,所以我在KSH寫這篇任何SQL錯誤退出sqlplus中:如何當錯誤發生
$ORACLE_HOME/bin/sqlplus -s u/p <<EOF
WHENEVER OSERROR EXIT 68;
WHENEVER SQLERROR EXIT SQL.SQLCODE;
CREATE TABLE new_table
AS (SELECT * FROM wrong_old_table);
COMMIT;
EOF
我把一個錯誤的名稱爲舊錶,看看會發生什麼。我希望有隻喜歡我在WHENEVER SQLERROR問SQLCODE但我有這樣的:
AS (SELECT * FROM wrong_old_table)
*
ERROR at line 2:
ORA-00942: table or view does not exist
我改變了代碼:
$ORACLE_HOME/bin/sqlplus -s u/p <<EOF
WHENEVER OSERROR EXIT 68;
WHENEVER SQLERROR EXIT SQL.SQLCODE;
BEGIN
CREATE TABLE new_table
AS (SELECT * FROM wrong_old_table);
COMMIT;
END;
EOF
sql_code=$?
echo "code=$sql_code"
即使有錯誤,代碼等於0哪裏是SQL錯誤代碼?
事實上,沒有用的......開始結束和它的作品
你在使用什麼操作系統和shell? –