mssql,firebird,oracle对事务的处理不同
2010-02-06 21:14
309 查看
mssql,firebird,oracle对事务的处理不同
http://hi.baidu.com/buk20090612/blog/item/1c321c1065f3051ab8127b73.html
http://hi.baidu.com/buk20090612/blog/item/1c321c1065f3051ab8127b73.html
mssql,firebird,oracle对事务的处理不同,如果要同时支持,编程该怎么做 mssql,firebird,oracle对事务的处理不同,如果要同时支持,编程该怎么做 mssql,firebird默认自动提交 oracle默认不自动提交 如果一个会话有尚未提交的数据改变, 另一个会话 mssql一直挂起,直到第一个会话commit或rollback oracle显示数据改变前的数据 firebird显示数据改变前的数据 如果此时第一个会话commit mssql显示数据改变后的数据 firebird已经连接的会话显示数据改变前的数据 firebird新连接的会话显示数据改变后的数据 不知道哪种处理方式比较好 --会话1----- 1> use sims 2> go 1> create table t1(a1 int); 2> go 1> insert into t1 values (100); 2> go (1 行受到影响) 1> rollback 2> go 消息 3903,级别 16,状态 1,服务器 IBMLT,行 1 ROLLBACK TRANSACTION 请求没有对应的 BEGIN TRANSACTION。 1> begin transaction 2> insert into t1 values (100); 3> go (1 行受到影响) 1> commit; 2> go 1> 1> rollback; 2> go 消息 3903,级别 16,状态 1,服务器 IBMLT,行 1 ROLLBACK TRANSACTION 请求没有对应的 BEGIN TRANSACTION。 1> begin transaction 2> insert into t1 values (100); 3> go (1 行受到影响) 1> rollback; 2> go 1> ---会话2------ Microsoft Windows XP [版本 5.1.2600] (C) 版权所有 1985-2001 Microsoft Corp. C:/Documents and Settings/Administrator>osql -Usa 密码: 1> use sims 2> go 1> select * from t1; 2> go a1 ----------- (0 行受到影响) 1> select * from t1; 2> go a1 ----------- 100 (1 行受到影响) 1> select * from t1; 2> go ----一直挂起,直到--1--commit或rollback a1 ----------- 100 100 (2 行受到影响) 1> 1> select * from t1; 2> go a1 ----------- 100 100 (2 行受到影响) 1> ----会话1---- SQL> create table t1(id varchar(32),v1 decimal(10,2)); SQL> show table t1; ID VARCHAR(32) Nullable V1 DECIMAL(10, 2) Nullable SQL> insert into t1 values('中文',12345678.99); SQL> SQL> select * from t1; ID V1 ================================ ===================== 中文 12345678.99 SQL> commit; ----会话2---- Use CONNECT or CREATE DATABASE to specify a database SQL> connect 'C:/data/test.fdb' user 'SYSDBA' password 'masterkey'; Database: 'C:/data/test.fdb', User: SYSDBA SQL> select * from t1; SQL> show table t1; ID VARCHAR(32) Nullable V1 DECIMAL(10, 2) Nullable ----当会话1commit后--- SQL> select * from t1; SQL> show table t1; ID VARCHAR(32) Nullable V1 DECIMAL(10, 2) Nullable SQL> select * from t1; SQL> ----会话3---- ----当会话1commit后--- Use CONNECT or CREATE DATABASE to specify a database SQL> connect 'C:/data/test.fdb' user 'SYSDBA' password 'masterkey'; Database: 'C:/data/test.fdb', User: SYSDBA SQL> select * from t1; ID V1 |
相关文章推荐
- day25—OracleSQl 中多表查询、DML 和事务处理
- 最近碰到一个oracle“分布式事务处理已经开始”的问题
- [置顶] Oracle GoldenGate 常见问题:长事务处理
- OracleHelper数据库事务处理
- Oracle-(13)事务处理
- Oracle EBS-SQL (OM-5):检查订单事务处理类型.sql
- oracle课堂收录-过程中的事务处理
- oracle事务处理及实例演示jdbc操作批量删除
- LPAD在Oracle中和 mssql以及在MySQL中的不同用法 以及调用存储过程方法
- oracle中事务处理--事务隔离级别
- Oracle之事务处理
- Oracle的事务处理机制
- oracle事务处理
- 关于Oracle处理DDL和DML语句的事务管理
- oracle心得5--oracle的增删改查@oracle的事务处理@案例分析
- 十、Oracle数据库之学习笔记---Oracle事务处理
- 第4节Oracle事务处理
- Oracle笔记七:数据更新、事务处理、数据伪列
- Spring不同事务管理方式与声明式事务管理局部回滚处理方案
- oracle 事务处理详解