oci_commit

(PHP 5)

oci_commit -- 未解決の文をコミットする

説明

bool oci_commit ( resource connection )

oci_commit() は、 Oracle接続connection 上のアクティブなトランザクションに関する全ての未解決の文をコミットします。

例 1. oci_commit() の例

<?php
    
// Oracle サーバにログインする
    
$conn = oci_connect('scott', 'tiger');

    
// SQL をパースする
    
$stmt = oci_parse($conn, "
                              INSERT INTO
                                         employees (name, surname)
                                   VALUES
                                         ('Maxim', 'Maletsky')
                             "
);

    
/* 文を実行する。
       OCI_DEFAULT は oci_execute() に
       文をすぐにコミットしないように伝える */
    
oci_execute($stmt, OCI_DEFAULT);

    
/*
    ....
    ここで他の文をパース、実行 ...
    ....
    */

    // トランザクションをコミット
    
$committed = oci_commit($conn);

    
// コミットが成功したかどうかをテストする。もしエラーが発生していたら、エラーメッセージを返す
    
if (!$committed) {
        
$error = oci_error($conn);
        echo
'Commit failed. Oracle reports: ' . $error['message'];
    }

?>

成功した場合に TRUE を、失敗した場合に FALSE を返します。

注意: トランザクションは接続を閉じたとき、 もしくはスクリプトの終了時のいずれの場合でも すぐに自動的にロールバックされます。 トランザクションをコミットするには oci_commit() をコールする、 もしくはトランザクションを破棄する場合は oci_rollback() を明示的にコールする必要があります。

注意: PHP バージョン 5.0.0 以前では、代わりに ocicommit() を使用しなければなりません。 まだこの名前を使用することができ、下位互換性のため oci_commit() への別名として残されていますが、 推奨されません。

oci_rollback(), oci_execute() も参照ください。