PHP.mk документација

oci_commit

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.oci-commit.php PHP.net прокси Преводот е вчитан
Оригинал на PHP.net
Патека function.oci-commit.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + преведен приказ Кодовите, табелите и белешките остануваат читливи во истиот тек.
oci_commit

Референца за `function.oci-commit.php` со подобрена типографија и навигација.

function.oci-commit.php

oci_commit

Класата OCICollection

oci_commitГи потврдува отворените трансакции во базата на податоци

= NULL

oci_commit(resource $connection): bool

Ги потврдува отворените трансакции за Oracle connectionПотврдувањето ја завршува тековната трансакција и ги прави сите промени трајни. Ги ослободува сите задржани заклучувања.

Трансакцијата започнува кога првиот SQL исказ што менува податоци се извршува со oci_execute() користејќи го OCI_NO_AUTO_COMMIT знаменце. Понатамошните промени на податоците направени од други искази стануваат дел од истата трансакција. Промените на податоците направени во трансакција се привремени додека трансакцијата не се потврди или поништи. Другите корисници на базата на податоци нема да ги видат промените додека не се потврдат.

При вметнување или ажурирање податоци, се препорачува користење трансакции за конзистентност на релационите податоци и од причини за перформанси.

Параметри

connection

или со поставување на променливата на oci_connect(), oci_pconnect(), или oci_new_connect().

Вратени вредности

Патеката до PHP скриптата што треба да се провери. true на успех или false при неуспех.

Примери

Пример #1 oci_commit() example

<?php

// Insert into several tables, rolling back the changes if an error occurs

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, "INSERT INTO mysalary (id, name) VALUES (1, 'Chris')");

// The OCI_NO_AUTO_COMMIT flag tells Oracle not to commit the INSERT immediately
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!
$r) {
$e = oci_error($stid);
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, 'INSERT INTO myschedule (startday) VALUES (12)');
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!
$r) {
$e = oci_error($stid);
oci_rollback($conn); // rollback changes to both tables
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

// Commit the changes to both tables
$r = oci_commit($conn);
if (!
$r) {
$e = oci_error($conn);
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

?>

Белешки

Забелешка:

Трансакциите автоматски се поништуваат кога ќе ја затворите врската или кога ќе заврши скриптата, кое и да е порано. Треба експлицитно да повикате oci_commit() за да ја потврдите трансакцијата.

Секое повикување на oci_execute() што користи OCI_COMMIT_ON_SUCCESS режимот експлицитно или по дифолт ќе ја потврди секоја претходна непотврдена трансакција.

Секој Oracle DDL исказ како CREATE or DROP автоматски ќе ја потврди секоја непотврдена трансакција.

Види Исто така

  • oci_execute() е валиден SQL или PL/SQL исказ е да се изврши.
  • oci_rollback() - Ги поништува отворените трансакции во базата на податоци

Белешки од корисници

Нема белешки од корисници за оваа страница.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.