left join,inner join,right join,cross join,full join
cross join是笛卡儿乘积就是一张表的行数乘以另一张表的行数left join第一张表的连接列在第二张表中没有匹配是,第二张表中的值返回nullright join第二张表的连接列在第一张表中没有匹配是,第一张表中的值返回...
natural join
自然连接是在两张表中寻找那些数据类型和列名都相同的字段,然后自动地将他们连接起来,并返回所有符合条件按的结果。 来看一下自然连接的例子: SQL> selecte.ename,e.sal,d.dname from emp e ,...
通过10046跟踪对比rownum和rowid两种分页方式的性能
有两种分页查询的实现方式,分别是传统的基于rownum的和基于rowid的方式,写法如下:-----基于rownum的分页方式SELECT * FROM ( select t.*,rown...
forall的sql%bulk_rowcount属性
在forall操作中,Sql%rowcount表示commit之前被影响的记录总行数,而sql%bulk_rowcount(i)表示每一次的操作所影响的行数,该值是存在一个集合里,forall中的第n条dml语句处理的行数存储在该集合的第n个元素中SQL> ...
在DML操作中使用record
在执行dml操作时,可以使用record来简化操作,如下:SQL> create orreplace procedure set_emp_info(rec_emp in emp%rowtype) 2 is 3 begin&n...
oracle extract()截取时间值函数(转)
//oracle中extract()函数从oracle 9i中引入,用于从一个date或者interval类型中截取到特定的部分 //语法如下: EXTRACT ( &n...
异常的捕获及传递
内层的块不捕获,外层也不捕获,则异常被传递到外层后被抛出,同样也不会输出1: SQL> declare 2 a emp%rowtype;--define a variable...
一个禁用和启用外键约束及触发器的脚本(转)
最近在做一个项目时,要往测试环境里加载数据,需要先把外键约束及触发器等先disable,这样就不用考虑导入的先后关系了,从网上找了一个脚本,在此记录之:--禁用脚本SET SERVEROUTPUT ON SIZE 10000BEGINfor c in ...
plsql学习范例--使用utl_file包将查询结果输出到文件中
最近在开发过程中需要根据查询结果生成一个HTML文件,用到了utl_file包,对于该包的使用,简单做了一下测试:--先在数据中创建directory并授权:SQL> create orreplace directory FILEPATH as '/home/or...
plsql学习范例--在动态sql中指定绑定变量的输入输出模式
在动态plsq中,对于in out 类型的变量,在绑定时需要指明in out模式: SQL> create or replace procedure create_dept( 2 deptid in out number, 3 d...
使用oracle外部表进行数据加载
最近在使用sql loader进行数据的导入,顺便测试体验了一把oracle外部表的功能,如下:SQL> conn / assysdba已连接。 会话已更改。 SQL> create orreplace directory scott_dir as 'c:\...
PLSQL学习范例--record操作
--执行insert时,可以定义一个record,将record插入到相应的表中SQL> select * from test;未选定行SQL> declare 2 test_rec test%rowtype; 3 begin 4...
一个实现行变列的存储过程
最近一个项目,需要实现动态的行变列的功能,写了一个存储过程,收录之:---创建函数f_split_str,输入n个奶站的sid列表,依次输出第1到n个奶站的sidCREATE OR REPLACE FUNCTION f_split_str(p_str VARCHAR2...
空值对not in执行计划的影响
如果优化器不确定是否包含空值,只能采用filter操作,而无法选择hash join,原因是无法对空值做hashSQL> l 1 select * from t where id not in(select id from t where 2 (zhifang ...
数据泵import之 network_link 参数
在导入数据时,可以通过network_link参数,直接将远程数据库的数据导入到本地数据库,中间不产生任何的导出文件。具体操作步骤如下: 检查db link是否存在,如果不存在需要创建 SQL> select * ...
数据泵expdp之network_link 参数
使用数据泵的network_link参数,可以在本地的数据库中创建一个指向远程数据库的db link,在执行导出时,指定network_link参数为dblink名称,就可以直接将远程数据库的数据导出到本地数据库里创建的directory下面:...
变化无常的filter操作
一。问题由来:xxx数据库上一个sql性能突然下降,从原来的耗时不到1秒,降低到8秒左右,而涉及到的表数据量并没有发生大的变化,将数据导入到测试环境中执行,耗时35秒之多二。初步分析通过10046事件,可以跟踪...
listener挂起时的诊断步骤
如果遇到客户端报告 ORA-12520错误,导致无法连接数据库。处理步骤如下: 使用Oracle用户:$ps -ef| grep tnslsnr检查并记录进程号。 AIX使用如下命令$truss -aef -o output.txt -p <tnslsn...
几个查询streams环境下capture和apply状态的视图
-----目标端apply情况Set lines132col apply_name fora15col source_databasefor a15selectapply_name,source_database,applied_message_number,oldest_message_number,apply_timefrom dba...
对linux下free命令的个人理解
-bash-3.00$ free -m total used free &...