随笔分类 - Oracle基础知识
摘要:范式:分解后的关系模式的规范形式1.第一范式: 任何符合关系定义的关系都属于第一范式: (1)表的每一格必须是单值(数组和重复的组不能作为值) (2)任意一列(属性)的所有条目都必须是同一个类型。 (3)每一列都有唯一的名字。 (4)任意两行(元组)不能相同。 2.第二范式 若一个关系的所有非主键属
阅读全文
摘要:包的概述: 包用于逻辑组合相关的过程和函数。 它由包规范和包主体两部分组成。(1)包规范: 用于定义共有常量、变量、过程和函数,在SQL*Plus中建立包规范中使用create package命令。 例如:create package emp_pkg is procedure update_sal(
阅读全文
摘要:rownum原理如下:1.执行查询操作2.将第一行的row num置为13.将得到的行的row num与条件相比较,如果不匹配,则抛弃行,如果匹配,则返回行4.oracle获取下一行,然后将rownum增15.返回第3步 从这个原理可以知道,select rownum,name from emp w
阅读全文
摘要:1. ASCII 返回与指定的字符对应的十进制数; SQL> select ascii(A) A,ascii(a) a,ascii(0) zero,ascii( ) space from dual; A A ZERO SPACE --------- --------- --------- --------- 65 97 48 32 2. CHR 给出整数,返回对应的字符; SQ...
阅读全文
摘要:数学函数 1.绝对值 S:select abs(-1) value O:select abs(-1) value from dual 2.取整(大) S:select ceiling(-1.001) value O:select ceil(-1.001) value from dual 3.取整(小) S:select floor(-1.001) value O:selec...
阅读全文
摘要:--1.监控undo空间情况 select tablespace_name,round(sum(bytes)/(1024*1024),2) free_space from dba_free_space where tablespace_name='UNDOTBS1' group by tablespace_name; TABLESPACE_NAME FREE_SPACE -------...
阅读全文
摘要:举个例子:用select * from all_objects创建了一张表T。想要导出object_id小于5000的所有行。(1)windows下: exp userid=cms0929/cms0929 table=t query="""where object_id < 5000"""(2)un
阅读全文
摘要:1.使用sys用户登陆:insert into 导入用户.表名 select * from 导出用户.表名例如:cms0706 -> cms0707 2. conn cms0706/cms0706@ora248; 以t_ums_config为例 (1).select * from t_ums_con
阅读全文
摘要:方法1: 执行步骤: exp userid=用户名/密码@数据库名 file=c:\emp.dmp 使用当前用户导出 exp userid=sys/sys@数据库名 file=c:\emp.dmp owner=(从哪个用户)-- 使用系统用户导出 方法2: 执行步骤: 1.打开 PL/SQL Dev
阅读全文
摘要:1.检测冲突 使用exp工具,在数据库中预先检测到物理或逻辑冲突。 导出的同时,将全扫描数据库中的每张表,读出所有行。如果某处表中有个损坏的块,必然能找到它。 2.可以用来快速恢复数据库。 使用exp导出生成的dmp转储文件。可以用来恢复由于意外事件丢失的代码或误删的表即数据。 3.抽取DDL 4.
阅读全文
摘要:--1.exp和imp的输入都是名字和值对: 如:exp parameter_name=value 或exp parameter_name=(value1,value2,value3..) --2.exp和imp都支持help=y选项。命令格式为:exp/imp help=y --3.exp中的参数: 参数名称 默认值 含义 建议 compress Y 不压缩导出数据的内容 compress...
阅读全文
摘要:1.oracle10g 11g:g(grid)表示网格技术 以baidu搜索为准,现在想使用一个软件,但是此软件在离自己非常近的地方就存在了下载地址,但是与自己非常远的地方也同样存在一个下载地址,而搜索引擎就有可能没有搜索到离自己近的下载,而是使用了更远的下载。那么这样一来肯定会造成资源的浪费。 所以新的网格概念就是将网络划分一个个的网格,通过网格表示一个区域。 先找自己所在的"网格...
阅读全文
摘要:子查询:嵌套在其他查询中的查询。子查询又称内部查询,而包含子查询的语句称为外部查询(又称主查询)。所有的子查询可以分为两类,即相关子查询和非相关子查询1.非相关子查询是独立于外部查询的子查询,子查询总共执行一次,执行完毕后将值传递给外部查询。2.相关子查询的执行依赖于外部查询的数据,外部查询执行一行
阅读全文
摘要:--1.无条件的多表insert all create table emp_1 as select id,last_name from s_emp where 1=0; create table emp_2 as select * from s_emp where 1=0; create table emp_3 as select * from s_emp where 1=0; --没有条件,向...
阅读全文
摘要:--对索引列的查询和排序问题的研究 --1.创建表并插入模拟数据 create table test(id number,name varchar2(10)); insert into test values(1,'测试1'); insert into test values(2,'测试2'); insert into test values(5,'测试5'); insert into test...
阅读全文
摘要:--Oracle中取随机值的函数 1.dbms_random包 dbms_random包提供了一系列的随机值获取函数以及相关存储过程。下面详细讲解常用的函数和过程。 (1)dbms_random.random: --返回[-2^31, 2^31)范围内的整数随机值 (2)dbms_random.value: ...
阅读全文
摘要:--排序分析函数中对null的处理 --分析:对于null在分析函数中是升序默认是nulls last,降序默认是nulls first。如果不指定排序,那么是升序 create table test(id number,name varchar2(20)); insert into test values(1,'测试1'); insert into test values(1,'测试2'); ...
阅读全文
摘要:1.一般变量的写法: if (str_kind is not null) then l_str_kind := str_kind; v_wheresql := v_wheresql || ' and kind = :kind '; else l_str_kind := '1'; v_wheresql := v_wheresql || ' and 1 = :kin...
阅读全文
摘要:--Oracle中的复合查询 复合查询:包含集合运算(操作)的查询 常见的集合操作有: union: 两个查询的并集(无重复行、按第一个查询的第一列升序排序) union all:两个查询的并集(有重复行) intersect:两个查询的交集(无重复行、按第一个查询的第一列升序排序) minus: 两个查询的差集(无重复行、按第一个查询的第一列升序排序),取第一张表有而第二张表没有的...
阅读全文
摘要:1.exists的使用场合: exists 用于只能用于子查询,可以替代in,若匹配到结果,则退出内部 查询,并将条件标志为true,传回全部结果资料,in 不管匹配到匹配不到都 全部匹配完毕,使用exists 可以将子查询结果定为常量,不影响查询效果, 而且效率高. 2.in和exists对比: 若子查询结果集比较小,优先使用in,若外层查询比子查询小,优先使 用exists...
阅读全文

浙公网安备 33010602011771号