首页 > PHP, 数据库 > ORACLE事务机制,附PHP+ORACLE操作实例

ORACLE事务机制,附PHP+ORACLE操作实例

2009年12月23日 CanleiSky 发表评论 阅读评论

        熟悉SQL SERVER的话,肯定常用到BEGIN TRAN和COMMIT TRAN语句。但在ORACLE中并没有这种类似的事务控制语句,ORACLE当然有事务,不然也不会是最牛X的数据库服务器软件了。下面简单的介绍下ORACLE的事务机制。

        在ORACLE中采用隐式事务,既然是隐式事务,显然是不需要COMMIT TRAN语句了,但COMMIT还是要的。

        在默认情况下,ORACLE对每次查询中对表的修改都是有隐式事务的,直到执行到COMMIT;或ROLLBACK;时提交或回滚事务。

        下面附上一段在PHP中一条语句操作多个表的解决办法。OCI_DEFAULT模式将默认为每次查询产生一个事务。

$sql = ‘BEGIN

UPDATE TEST_A SET COLUMN_A = 1 WHERE ROWNUM = 1;

UPDATE TEST_B SET COLUMN_B = 2 WHERE ROWNUM =1;

 END;’;

 $conn = oci_connect(’scott’, ‘tiger’, ‘orcl’);

$stmt = oci_parse($conn, $sql);

oci_execute($stmt, OCI_DEFAULT);

// 回滚事务,返回boolean值

$rollbacked = oci_rollback($conn);

// 提交事务,返回boolean值

$commited = oci_commit($conn);

实例完毕,谢谢收看CCTV。

分类: PHP, 数据库 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.
您必须在 登录 后才能发布评论.