mssql,firebird,oracle对事务的处理不同
来源:互联网 发布:天池大数据 阿里音乐 编辑:程序博客网 时间:2024/05/30 07:14
mssql,firebird,oracle对事务的处理不同
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
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
- mssql,firebird,oracle对事务的处理不同
- MSSQL数据库转到FIREBIRD数据库的问题
- django对事务的处理
- mysql对事务的处理
- MSSQL 事务的使用
- 关于Oracle的UPdate与 MSSQL的不同
- MSSQL注入时对中文字符的处理方法
- 兼容oracle,sqlserver,mysql数据库对null和''(空)的不同处理的解决方法
- CMP对事务的处理【转】
- c#中对事务的处理(部分)
- innodb和myisam 对事务的处理
- SQL事务对并发处理的支持
- mssql里事务的详解
- MSSQL之事务的用法
- MSSQL之事务的用法
- MSSQL之事务的用法
- 对oracle ITL(事务槽)的理解
- oracle 对数据库事务的理解
- 对于SQL server C#连接总结
- Milo内地博客开张
- 关于Suid和Sgid
- 我的书法观
- 有谁会编程呀,请教一下,
- mssql,firebird,oracle对事务的处理不同
- Nexus One和Motorola Droid也许能更早的享受到Adobe Flash 10.1
- ADO.NET 连接数据库(Oracle、SqlServer、Access、ODBC)
- 拿命跟技术玩,真的不好玩
- HDU 1503 Advanced Fruits
- MySQL / SQL Server / Oracle / MS Access的sql语句联系区别总结
- [SQL Server] TRIGGER 触发器获得insert, delete, update行的信息
- SQL Server 备份压缩
- 一些操作sql server相关服务的命令行