Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 107,657

HOME > PHP > PHP Oracle > PHP Oracle Transaction (oci_rollback,oci_commit)





Clound SSD Virtual Server

PHP Oracle Transaction (oci_rollback,oci_commit)

PHP Oracle Transaction (oci_rollback,oci_commit) ในฟังก์ชั่น oci สังเกตุว่าในการที่เราจะกระทำกับฐานข้อมูลในรูปแบบการ execute เช่น insert หรือ update ข้อมูลนั้น ใน Oracle Database ตัว oci จะกระทำข้อมูลในรูปแบบของ Transaction อัตโนมัติ ข้อมูลที่ถูก Insert หรือ Update จะยังไม่ได้มีการเกิดขึ้นจริงภายใน Database เพียงแต่ถูกทำงานภายใต้ Transaction ของ Oracle เท่านั้น แต่ในขณะเดียวกันข้อมูลที่ถูก Insert หรือ Update ในขณะนั้นสามารถทำการ Query หรือนำมาใช้ใน Process อื่น ๆ ได้หลาย ๆ Process และเมื่อผู้ใช้ทำงานจนเสร็จสิ้นตามที่ต้องการแล้ว สามารถที่จะทำการ commit หรือ rollback ข้อมูลดังกล่าวได้ครับ วิธีนี้เป็นความสามารถของ Oracle Database ที่เรารู้จักกันเป็นอย่างดีครับ

PHP Oracle Config OCI8 Support



Syntax

oci_rollback($Connection); // Rollback
oci_commit($Connection); // Commit


การทำงานของ oci_rollback และ oci_commit ภายในโปรแกรมสามารถมีได้หลาย ๆ ตัวขึ้นอยู่กับการออกแบบของผู้เขียนเอง โดยที่การ Rollback transaction จะเริ่มนับ Process เริ่มแรก หรือ Process ที่หลังจากการ Commit ไปแล้ว และจะเก็บ Transaction การทำงานจนกว่าผู้ใช้จะ Commit หรือ Rollback อีกครั้ง


Application Process

Process 1
.
.
.
oci_rollback/oci_commit
Process 2
.
.
.
oci_rollback/oci_commit
Process 3
.
.
.
oci_rollback/oci_commit
.
.
.


ถ้ายังไม่เข้าใจผมจะยกตัวอย่างให้ดูซะตัวอย่างครับ


phpOracleTransaction.php

<html>
<head>
<title>ThaiCreate.Com PHP & Oracle Tutorial</title>
</head>
<body>
<?php
	$objConnect = oci_connect("myuser","mypassword","TCDB");

	$strSQL = "";
	$strSQL = "INSERT INTO CUSTOMER ";
	$strSQL .="(CUSTOMERID,NAME,EMAIL,COUNTRYCODE,BUDGET,USED) ";
	$strSQL .="VALUES ";
	$strSQL .="('C005','Weerachai Nukitram','[email protected]','TH','6000000','0') ";
	$objParse = oci_parse($objConnect, $strSQL);
	$objExecute = oci_execute($objParse,OCI_DEFAULT);
	

	$strSQL = "SELECT * FROM CUSTOMER WHERE CUSTOMERID = 'C005' ";
	$objParse = oci_parse ($objConnect, $strSQL);
	oci_execute ($objParse,OCI_DEFAULT);
	$objResult = oci_fetch_array($objParse);
	if($objResult["BUDGET"]=="6000000")
	{
		oci_commit($objConnect);
		echo "Record is Commit";
	}
	else
	{
		oci_rollback($objConnect);
		echo "Record is Rollback";
	}

	oci_close($objConnect);
?>
</body>
</html>


คำอธิบาย
จากตัวอย่างจะเป็นการ Insert ข้อมูลลงใน Record โดยจะยังไม่ Commit Transaction และ เงื่อนไขต่อมาจะเป็นการตรวจสอบว่าข้อมูลที่ Insert ลงไปมีค่าตรงตามที่ต้องการหรือไม่ ถ้าตรงตามที่ต้องการก็ให้ oci_commit หรือ oci_rollback

การใช้ Transaction มีความจำเป็นมากในระบบที่ต้องการความถูกต้องสูง ซึ่งในตัว Oracle Database เอาสามารถใช้ Transaction แบบ Multiple Query หรือในขณะที่อยู่ใน Transaction สามารถทำการ Query ข้อมูลได้หลาย ๆ Query เหมาะสำหรับการใช้ใน Process ที่มีความซับซ้อนการตรวจสอบความถูกต้องของข้อมูล ก่อนการ Commit หรือ RollBack



PHP & Oci Commit & Rollback








Oracle Server Tutorials



Reference : https://www.thaicreate.com/php-manual/ref.oci8.html


   
Share


ช่วยกันสนับสนุนรักษาเว็บไซต์ความรู้แห่งนี้ไว้ด้วยการสนับสนุน Source Code 2.0 ของทีมงานไทยครีเอท


ลองใช้ค้นหาข้อมูล


   


Bookmark.   
       
  By : ThaiCreate.Com Team (บทความเป็นลิขสิทธิ์ของเว็บไทยครีเอทห้ามนำเผยแพร่ ณ เว็บไซต์อื่น ๆ)
  Score Rating :  
  Create/Update Date : 2008-10-25 23:11:00 / 2017-03-25 01:31:56
  Download : Download  PHP Oracle Transaction (oci_rollback,oci_commit)
 Sponsored Links / Related

 
PHP Oracle Config OCI8 Support
Rating :

 
PHP Oracle Config OCI/OCI8 (XAMPP Web Server)
Rating :

 
PHP Oracle Connect to Database
Rating :

 
PHP Oracle List Table Properties
Rating :

 
PHP Oracle List Record
Rating :

 
PHP Oracle Random Record
Rating :

 
PHP Oracle List Record Paging/Pagination
Rating :

 
PHP Oracle Search Record
Rating :

 
PHP Oracle Search Record Paging/Pagination
Rating :

 
PHP Oracle Multiple Column
Rating :

 
PHP Oracle Multiple Column and Paging/Pagination
Rating :

 
PHP Oracle Add/Insert Record
Rating :

 
PHP Oracle Check Already Exists Add/Insert Record
Rating :

 
PHP Oracle Edit/Update Record
Rating :

 
PHP Oracle Delete Record
Rating :

 
PHP Oracle Multiple Checkbox Delete Record
Rating :

 
PHP Oracle Used Include Function
Rating :

 
PHP Oracle Used Function Database Query
Rating :

 
PHP Oracle Database Class
Rating :


ThaiCreate.Com Forum


Comunity Forum Free Web Script
Jobs Freelance Free Uploads
Free Web Hosting Free Tools

สอน PHP ผ่าน Youtube ฟรี
สอน Android การเขียนโปรแกรม Android
สอน Windows Phone การเขียนโปรแกรม Windows Phone 7 และ 8
สอน iOS การเขียนโปรแกรม iPhone, iPad
สอน Java การเขียนโปรแกรม ภาษา Java
สอน Java GUI การเขียนโปรแกรม ภาษา Java GUI
สอน JSP การเขียนโปรแกรม ภาษา Java
สอน jQuery การเขียนโปรแกรม ภาษา jQuery
สอน .Net การเขียนโปรแกรม ภาษา .Net
Free Tutorial
สอน Google Maps Api
สอน Windows Service
สอน Entity Framework
สอน Android
สอน Java เขียน Java
Java GUI Swing
สอน JSP (Web App)
iOS (iPhone,iPad)
Windows Phone
Windows Azure
Windows Store
Laravel Framework
Yii PHP Framework
สอน jQuery
สอน jQuery กับ Ajax
สอน PHP OOP (Vdo)
Ajax Tutorials
SQL Tutorials
สอน SQL (Part 2)
JavaScript Tutorial
Javascript Tips
VBScript Tutorial
VBScript Validation
Microsoft Access
MySQL Tutorials
-- Stored Procedure
MariaDB Database
SQL Server Tutorial
SQL Server 2005
SQL Server 2008
SQL Server 2012
-- Stored Procedure
Oracle Database
-- Stored Procedure
SVN (Subversion)
แนวทางการทำ SEO
ปรับแต่งเว็บให้โหลดเร็ว


สุดยอด Source Code V2.0
 

แจ้งชำระเงิน/โอนเงิน
 

Hit Link
   







Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2019 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 , 08-9968-0655 อัตราราคา คลิกที่นี่