【Oracle SYS_CONTEXT用法】教程文章相关的互联网学习教程文章

oracle中的exists 和not exists 用法 in与exists语句的效率问题【代码】

博文来源( in与exists语句的效率问题):http://www.cnblogs.com/iceword/archive/2011/02/15/1955337.html (一) exists (sql 返回结果集为真) not exists (sql 不返回结果集为真) 如下: 表A ID NAME 1 A1 2 A2 3 A3 表B ID AID NAME 1 1 B1 2 2 B2 3 2 B3 表A和表B是1对多的关系 A.ID => B.AID 1 SELECT ID,NAME FROM A WHERE EXIST (SELECT * FROM B WHERE A.ID=B.AID)2 执行结果为3 1 A14 2 A25 原因...

oracle connect by用法【图】

oracle connect by用法先用scott用户下的emp表做实验. emp表有个字段,一个是empno(员工编号),另一个是mgr(上级经理编号) 下面是表中所有数据1 select * from emp start with empno=7698 connect by mgr=prior empno; 执行结果如下:得到的结果是empno=7698的数据,以及会得到mgr=7698的数据。 它是向下递归的, 即我们从empno=7698开始遍历,去找出mgr=7698的所有数据S(用S代表查出的所有数据.), 然后在从S中的empno的值去匹配查...

oracle中视图V$PGA_TARGET_ADVICE的用法

12 rows selected.通过上面的数据可以得到如下的结论:1.第一列表示不同的PGA的具体值2.第二列PGA_TARGET_FACTOR为“1”表示当前的pga_aggregate_target设置大小(其他数值都是以这个数据为基础的倍数),我这里是20M,通过pga_aggregate_target参数可以确认一下sys@ora10g> show parameter pga_aggregate_target;NAME TYPE VALUE----------------------- -------------------- ----...

sql与oracle中有关case和decode的用法(行转列)及比较(转【图】

引: 为了举例说明,这里创建了一张成绩表,如下图所示: 比较: 1、sql中,这两个函数我们仅能使用case,代码及结果如下: select name, case Subject when ‘语文‘ then 1 when ‘数学‘ then 2 when ‘英语‘ then 3 --else 3 end as ‘科目代码‘ from Results 同样的,我们可以用case实现行转列,代码及结果如下: select Name, sum(...

Oracle 分析函数的使用(主要是rollup用法)

分析函数参考手册:http://xsb.itpub.net/post/419/33028 分析函数的使用方法1. 自动汇总函数rollup,cube,2. rank 函数, rank,dense_rank,row_number3. lag,lead函数4. sum,avg,的移动增加,移动平均数5. ratio_to_report报表处理函数6. first,last取基数的分析函数 本人在项目中由于用到小计、合计的统计,前面想到用union all,但这样有点麻烦并且效率也不高,就从网上查到资料说是oracle 8i、oracl 9i、oracle 10g 中已经...

Oracle 中connect by / prior /start with用法【代码】【图】

下面通过两个简单的例子学习一下两种用法。 方法一: SELECT DISTINCT T.CATALOG_ID, T.PARENT_CATALOG_ID FROM BI_CATALOG T START WITH T.CATALOG_ID = 324 CONNECT BY PRIOR T.PARENT_CATALOG_ID = T.CATALOG_ID方法二: SELECT DISTINCT T.CATALOG_ID, T.PARENT_CATALOG_ID FROM BI_CATALOG T START WITH T.CATALOG_ID = 324 CONNECT BY T.CATALOG_ID = PRIOR T.PARENT_CATALOG_ID两种方法所得结果相同,如下 Oracle 中c...

oracle----sqlldr用法(转)

SQL*LOADER是ORACLE的数据加载工具,通常用来将操作系统文件迁移到ORACLE数据库中。SQL*LOADER是大型数据仓库选择使用的加载方法,因为它提供了最快速的途径(DIRECT,PARALLEL)。现在,我们抛开其理论不谈,用实例来使您快速掌握SQL*LOADER的使用方法。  首先,我们认识一下SQL*LOADER。  在NT下,SQL*LOADER的命令为SQLLDR,在UNIX下一般为sqlldr/sqlload。  如执行:d:\oracle>sqlldrSQL*Loader: Release 8.1.6.0.0 - Pr...

Oracle中的rownum,ROWID的 用法

1.ROWNUM的使用——TOP-N分析 使用SELECT语句返回的结果集,若希望按特定条件查询前N条记录,可以使用伪列ROWNUM。 ROWNUM是对结果集加的一个伪列,即先查到结果集之后再加上去的一个列 (强调:先要有结果集)。简单的说ROWNUM是符合条件结果的序列号。它总是从1开始排起的。 使用ROWNUM时,只能使用<、<=、!=符号。 举例: student(学生)表,表结构为: ID    char(6)      --学号 name    VARCHAR2(10)   --姓...

oracle系统包——dbms job用法(oracle定时任务)

用于安排和管理作业队列,通过使用作业,可以使ORACLE数据库定期执行特定的任务。 一、dbms_job涉及到的知识点1、创建job:variable jobno number;dbms_job.submit(:jobno, —-job号 ‘your_procedure;‘,—-执行的存储过程, ‘;‘不能省略 next_date, —-下次执行时间 ‘interval‘ —-每次间隔时间,interval以天为单位); –系统会自动分配一个任务号jobno。2、删除job: dbms_j...

oracle 内连接 左外连接 右外连接的用法,(+)符号用法

1. 内连接很简单 select A.*, B.* from A,B where A.id = B.id select A.*, B.* from A inner join B on A.id = B.id 以上两句是完全等价的 2. 左外连接 select * from emp a left join dept d on a.deptno=d.deptno select * from emp a,dept d where a.deptno=d.deptno(+) 以上两句是完全等价的 3. 右外连接 select * from emp a right join dept d on a.deptno=d.deptno select * from emp a,dept d where a.deptno(+)=d.deptno...

常见Oracle HINT的用法

. /*+ALL_ROWS*/表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.例如:SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO=‘SCOTT‘; 2. /*+FIRST_ROWS*/表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化.例如:SELECT /*+FIRST_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO=‘SCOTT‘; 3. /*+CHOOSE*/表明如果数据字典中有访问表的统计信息,将基...

oracle正则表达式的用法

<SPAN style="FONT-SIZE: 18px">Oracle 正则表达式函数-REGEXP_SUBSTR 使用例子 .5个参数 第一个是输入的字符串 第二个是正则表达式 第三个是标识从第几个字符开始正则表达式匹配。(默认为1) 第四个是标识第几个匹配组。(默认为1) 第五个是是取值范围: i:大小写不敏感; c:大小写敏感; n:点号 . 不匹配换行符号; m:多行模式; x:扩展模式,忽略正则表达式中的空白字符。 全部测试数据SQL> select * from test_reg_su...

Oracle CASE WHEN 用法介绍【代码】【图】

--简单Case函数 CASE sex WHEN ‘1‘ THEN ‘男‘ WHEN ‘2‘ THEN ‘女‘ ELSE ‘其他‘ END --Case搜索函数 CASEWHEN sex = ‘1‘ THEN ‘男‘ WHEN sex = ‘2‘ THEN ‘女‘ ELSE ‘其他‘ END 2. CASE WHEN 在语句中不同位置的用法 2.1 SELECT CASE WHEN 用法 SELECT grade, COUNT (CASE WHEN sex = 1 THEN 1 /*sex 1为男生,2位女生*/ ELSE NULL END) 男生数...

oracle学习之bulk collect用法

Oracle8i中首次引入了Bulk Collect特性,该特性可以让我们在PL/SQL中能使用批查询,批查询在某些情况下能显著提高查询效率。 采用bulk collect可以将查询结果一次性地加载到collections中。 而不是通过cursor一条一条地处理。 可以在select into,fetch into,returning into语句使用bulk collect。 注意在使用bulk collect时,所有的into变量都必须是collections <span style="font-size:14px;">View Code --在select into语句中使...

ORACLE SEQUENCE用法 (自增长)【代码】

1、Create Sequence 首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限。 创建语句如下: CREATE SEQUENCE seqTest INCREMENT BY 1 -- 每次加几个 START WITH 1 -- 从1开始计数 NOMAXvalue -- 不设置最大值 NOCYCLE -- 一直累加,不循环 CACHE 10; --设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为---------NOCACHE2、得到Sequence值 定义好sequence后,你就可以用currVal,next...