oracle事务处理
1.回退事务
最好设置一个保存点,例savepoint a,或者执行 exec dbms_transaction.savepoint('a')(执行前需要执行set serveroutput on语句);取消部分事务就可以使用rollback to a,或者执行exec dbms_transaction.rollback_savepoint('a');取消全部事务可以执行rollback,或者exec dbms_transaction.rollback;
2.只读事务
set transaction read only,或者执行exec dbms_transaction.read_only;这时候你再进行查询回查询你执行这条语句时该表中数据的信息,其他用户修改时虽然改变了表中的数据但是不会被你发现。
3.顺序事务
set transaction isolation level serializable;基本上与2条执行一样。
相关文档:
SELECT EXECUTIONS , DISK_READS, BUFFER_GETS,
ROUND((BUFFER_GETS-DISK_READS)/BUFFER_GETS,2) Hit_radio,
ROUND(DISK_READS/EXECUTIONS,2) Reads_per_run,
SQL_TEXT
from V$SQLAREA
WHERE EXECUTIONS>0
AND BUFFER_GETS > 0
AND (BUFFER_GETS-DISK_READS)/BUFFER_GETS ......
SQL> select * from ta;
ID NAME
---------- --------------------
1 gorey
2 gorey2
SQL> select * from tb;
I ......
Oracl 数据库也没有个半段表是否存在,存在则删除的语句,经过研究和改写他人的方法先隆重推出绝对能用性的Oracle判断表是否存在,存在则删除方法,在Oracle10g上试验通过。
方法
CREATE OR REPLACE FUNCTION PROC_NAME(T_NAME IN VARCHAR2) RETURN NUMBER IS
V_CNT number;
V_SQL VARCHAR2(100);
......
一、Oracle数据库支持的大对象数据类型。
在Oracle数据库中为了更好的管理大容量的数据,专门开发了一些对应的大对象数据类型。具体的来说,有如下几种:
一是BLOB数据类型。它是用来存储可变长度的二进制数据。由于其存储的是通用的二进制数据,为此在数据库之间或者在客户端与服务器之间进行传输的时候, ......
一、建立链接服务器
有人喜欢调用系统过程来建立,但我个人对系统过程没有特别的学习 ,所以用的是界面设置,当然有兴趣也可以研究一下的,因为可以把SQL执行导出来。
USE [master]
GO
EXEC master.dbo.sp_addlinkedserver @server = N'TEST2', @srvproduct=N'ORCL', @provider=N ......