COMMIT
我有一个将数据插入/更新到 Oracle 表中的 Shell 脚本,我不明白的是脚本中没有明确的说明但数据已提交到数据库,这怎么可能呢?
我已经检查过 sqlplus 是否autocommit
已关闭(通过连接到 sqlplus 并运行SHOW AUTOCOMMIT;
)
#! /bin/ksh
function Exec_Sql
{
echo === Executing sql:
echo === $sql_text
print "$sql_text;" | sqlplus -s / 2>&1 | grep -iE 'ora|error|sp2'
if [ ! $? -eq 0 ] #No error found
then
v_sqlerrm=""
return 0 #No Errors
else
v_sqlerrm="Contact Support - Check Log File"
return 1 #Error Found
fi
}
sql_text="UPDATE asr_test_tab SET f_ind = 'Y'"
if Exec_Sql; then
echo "=== Update SQL OK "
else
echo "=== Update SQL Failed "
fi
echo Complete: `date`
exit 0;