oracle 需要注意的地方
INSERT /*+APPEND */ INTO employee (empno,ename,sal,deptno)
SELECT empno,ename,sal,deptno from emp
WHERE deptno=20;
第二条语句使用/*+APPEND */来表示采用直接装载方式,当要装载大批量数据时,采用第二种方法装载数据的速度要远远优于第一种方法。
使用多表插入数据
使用ALL操作符执行多表插入时,在每个条件子句上都要执行INTO子句后的子查询//意思好像是说下面插入时要执行四次SELECT了 看来效率上不高啊 慎用
INSERT ALL
WHEN deptno=10 THEN INTO dept10
WHEN deptno=20 THEN INTO dept20
WHEN deptno=30 THEN INTO dept30
WHEN job='CLERK' THEN INTO clerk
ELSE INTO other
SELECT * from emp;
使用FIRST 操作符执行多表插入
当使用FIRST操作符执行多表插入时,如果数据已经满足了先前条件,并且已经被插入到某表,那么该行数据在后续插入中将不会被再次使用 //这个效率会很快
INSERT FIRST
WHEN deptno=10 THEN INTO dept10
WHEN deptno=20 THEN INTO dept20
WHEN deptno=30 THEN INTO dept30
WHEN job='CLERK' THEN INTO clerk
ELSE INTO other
SELECT * from emp
在更新 插入时date数据 最好用TO_DATE函数进行处理一下
update 语法
UPDATE<table|view>
SET<column>=<value>[,<column>=<value>]
[WHERE <condition>];
UPDATE emp SET (job,sal,comm)=(SELECT job,sal,comm from emp='SMITH') WHERE ename='SCOTT'
delete 语法
DELETE from <table|view> [WHERE<condition>]
设置保存点
savepoint a;
exec dbms_transaction.savepoint('a');
取消部门事务
roolback to a ;
exec dbms_transaction.rollback_savepoint('a')
注意当设置只读事务时,该语句必须是事务开始的第一条语句,另外在应用程序中 使用过程READ_ONLY也可以设置只读事务
SET TRANSACTION READ ONLY;
or
exec dbms_transaction.read_only
顺序事务
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
相关文档:
http://hi.baidu.com/fyears/blog/item/5ef68ac3feb9a45db219a836.html
select object_id,session_id,locked_mode from v$locked_object;
select t2.username,t2.sid,t2.serial#,t2.logon_time
from v$locked_object t1,v$session t2
where t1.session_id=t2.sid order by t2.logon_time;
alter system ki ......
oracle变量类型
标量类型
varchar2(n) 用于定义可变长度的字符串 n用于指定字符串的最大长度 其最大值为32767字节 必须指定n
char(n) 用于定义固定长度的字符串 其中n用于指定字符串的最大长度,其最大值为32767 如果不指定n 默认是1
number(p,s)该数据类型用于定义固定长度的整数和浮点 ......
DBA 职责及日常工作职责:
1.安装和升级数据库服务器,以及应用程序工具构建和配置网络环境.
2.熟悉数据库系统的存储结构预测未来的存储需求,制订数据库的存储方案.
3.根据开发人员设计的应用系统需求创建数据库存储结构.
4.根据开发人员设 ......
以下是在后台更新易拓ERP数据库时遇到的一个问题:
1.在DB14数据库中将料件号P44开头,并且品名为"塑料袋"的料件改为消耗性料件.
这个简单: UPDATE DB14.ima_file SET ima70 = ‘Y’ WHERE ima01 like ‘P44%’ AND ima0 ......
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String URL=dbmes.url;
Connection con = DriverManager.getConnection(URL,dbmes.usrname,dbmes.pwd);
try{
// 准备语句执行对象
String bh=request.getParameter("dwmc");
Statement stmt = con.createStatement() ......