oracle的一些基本语法和一些优化问题
查询:
select distinct(empno) , name , age from t_person t where (t.age between 21 and 25 or name like '%王%') and
empno like '32%';
更新:
update t_person set name = 'ww' where empno = '321654';
update t_person set(empno,name,age) = (select empno,name,age from t_person1 where ...)
插入:
insert into t_person values(seq_person.nextval,'ww',21); -- seq_person.currval 当前序列中的值
insert into t_person(empno,name) values('321654','ww');
删除:
delete t_person <==> delete from t_person
创建表:
create table t_person (
empno varchar2(6),
name varchar2(20),
age int ,
constraint pk_person primary key(empno)
);
comment on table t_person is '员工表';
comment on column empno is '员工编号';
comment on column name is '员工姓名';
comment on column age is '员工年龄';
create table t_person as select * from t_person1 where 1<>1; 只复制表结构
create table t_person as select * from t_person1 where 1=1; 复制表结构和数据(拷贝),但除了非空约束能被复制,其它的约束都不能拷贝。
创建视图:
create view v_person as select * from t_person t left join t_person1 m on t.empno = m.empno where ...;
截取字符串:
select substr('wangwei',2,3) from dual; --从第二位开始截取取三个字符(注意:数据库中的是从1开始的,而不是0)
dbms_output.put_line :ang
计算长度的函数:
select length('wangwei') from dual; --dbms_output.put_line:7
计算总量的函数:
select count(1) from t_person; -- 此语句的执行效率比非索引字段的效率低
select count(*) from t_person; -- 此语句的执行效率比非索引字段的效率低,比第一个的效率低一些。
select count(name) from t_person; -- 此语句的执行效率是最低的,前提条件是name字段不是索引。
select count(empno) from t_person; --此语句的执行效率最高,前提是empno字段是索引。
在拼接sql语句的时候,一定要注意字符串和空格的问题,比如:
String sql = "select * from t_person t where
相关文档:
在系统迁移或升级的时候,可能会有oracle JOB迁移的需求。
对于10G的系统好说。可以用下面的办法:
userid="/ as sysdba"
directory=EXP_DIR
dumpfile=expdp_job.dmp
logfile=expdp_job.log
include=job
对于9i库好象有点复杂:
可以用下面的办法。
set echo on
conn sm ---------->JOB所在的用户名。
set se ......
回收站,从原理上来说就是一个数据字典表,放置用户Drop掉的数据库对象信息.用户进行Drop操作的对象并没有被数据库删除,仍然会占用空间.除非是由于用户手工进行Purge或者因为存储空间不够而被数据库清掉.数据库有了这样的功能,能够减少很多不必要的麻烦.经常看到开发人员误把表删除,急急忙忙找DBA来想办法的情况,相信,随着10G ......
经过数天不懈的努力,LINUX历尽三次重装,ORACLE重装N次终于在LiNUXAS4 update6 x86_64 下安装好ORACLE10g R 2 (64位) 了。
下面把安装过程和大家分享一下,以免更多人像我一样花费大量的时间在莫名其妙的问题上。
首先要说明的是,官方也有相应的文档安装但是实际过程中,会有一些问题需要解决。
本文档参照了相关说 ......
对于Oracle ORA-24343这种错误,Oracle的官方解释是:
Error Message: ORA-24343 user defined callback error
Error Cause:
The only valid return value for a user defined callback function is OCI_ CONTINUE. Any other value will cause this error.
Action:
Make sure that OCI_CONTINUE i ......
1. NLS_LANG
参数组成
NLS_LANG
参数由以下部分组成:
NLS_LANG
=<Language>_<Territory>.<Clients
Characterset>
NLS_LANG
各部分含义如下:
LANGUAGE指定:
-Oracle消息使用的语言
-日期中月份和日显示
TERRITORY指定
-货币和数字格式
-地区和计算星期及日期的习惯
CHARACTERSET:
-控 ......