【笔记】decode
DECODE是Oracle公司独家提供的功能,它是一个功能很强的函数。它虽然不是SQL的标准,但对于性能非常有用。到目前,其他的数据库供应商还不能提供类似DECODE的功能,甚至有的数据库的供应商批评Oracle的SQL不标准。实...
【笔记】connect by
一、测试准备1、先假设有如下部门结构。 1 / \ 2 3 /\ /|\4 5 6 7 82、然后建...
【笔记】connect by语法详解
connect by 是结构化查询中用到的,其基本语法是:select ... from tablename start with 条件1connect by 条件2where 条件3;例:select * from tablestart with org_id = 'HBHqfWGWPy'connect by ...
【笔记】user_tab_cols与user_tab_columns
视图SYS.USER_TAB_COLS和SYS.USER_TAB_COLUMNS都保存了当前用户的表、视图和Clusters中的列信息。通过检索这两个表,可以方便的获取到表的结构。主要的列属性有: TABLE_NAME &n...
【笔记】Union与union all
union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序; Union...
【笔记】replace和translate函数
replace(str1,str2,str3)是把str1中的所有str2字符串替换成str3replace(str1,str2)是把str1 中的所有str2字符串去掉,也就是替换成''translate一、语法: TRANSLATE(string,from_str,to_str) 二、目的 返回将...
【笔记】判断输入值是否为数字(函数)
--1. 利用 to_numberCREATE OR REPLACE FUNCTION isnumeric(str IN VARCHAR2) RETURN NUMBERIS v_str FLOAT;BEGIN IF str IS NULL THEN R...
【笔记】分页存储过程
这个存储过程是用 row_number() over(partation by col1 order by col2) 来实现的:1、创建包SQL> CREATE OR REPLACE PACKAGE pagination_package IS 2 &nb...
【笔记】特殊符号的插入
如果字段的内容中包含了'&'要怎么插入呢?1、在要插入的SQL语句前加上Set define off;与原SQL语句一起批量执行在SQL*PLUS中输入show all 可以查看所有默认设置。SQL> set define off再执行sql语句就可以了。注...
【笔记】oracle中多行合并
自定义一个聚合函数1.创建类型create or replace type strcat_type as object (cat_string varchar2(4000),static function ODCIAggregateInitialize(cs_ctx In Out strcat_type) return number,member function O...
【转载】row_number() over(...)的用法
row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的). 与rownum的区别在于:使用rownum进...
【笔记】查询与删除重复记录
当试图对库表中的某一列或几列创建唯一索引时,系统提示 ORA-01452 :不能创建唯一索引,发现重复记录。下面以users 表说明怎么查询与删除重复记录:SQL> desc users;Name Type  ...
【笔记】dbms_random包
1、dbms_random.value方法dbms_random是一个可以生成随机数值或者字符串的程序包。这个包有initialize()、seed()、terminate()、value()、normal()、random()、string()等几个函数,但value()是最常用的,value()的...
【笔记】从结果集中提取随机结果
从Oracle8i开始Oracle提供采样表扫描特性。Oracle访问数据的基本方法有:1.全表扫描2.采样表扫描全表扫描(Full table Scan)全表扫描返回表中所有的记录。执行全表扫描,Oracle读表中的所有记录,考查每一行是否满足...
【备忘】在win7上安装oracle10g
在命令行进安装目录,然后运行setup -ignoreSysPrereqs 或者给setup建立一个快捷方式然后点开属性,在目标栏最后边+上 -ignoreSysPrereqs
【笔记】标量
1.varchar2(n):可变长度的字符串,其中n用于指定字符串的最大长度,其最大值为32767字节,当操作表列时,该数值长度不超过4000字节。2.char(n):用于定义固定长度的字符串,其中n用于指定字符串的最大长度,...
【笔记】lob变量
用于存储大批量数据的变量。分两种:内部lob和外部lob。内部lob包括clob,blob,nclob,它们的数据被存储在数据库中,并且支持事务操作(提交、回退、保存点)。外部lob只有bfile一种,该类型的数据被存储在os文件中...
【笔记】参照变量
通过使用参照变量,可以使得应用程序共享相同对象,从而降低占用空间。有两种参照变量:ref cursor 和ref obj_type。1.ref cursor :当使用显式游标时,需要在定义显式游标时指定相应的select语句,这种显式游标称...
【笔记】复合变量
1.pl/sql记录。示例如下: declaretype emp_record_type is record( name emp.ename%type, salary emp.sal%type, title emp.job%type);emp_record emp_record_type...
【笔记】oracle分页
1、用rowid分页SELECT * FROM emp WHERE ROWID IN( SELECT rd FROM( SELECT ROWNUM rn, ROW...