oracle
微末666
我本微末凡尘,可也心向天空
展开
-
oracle学习记录一
数据库 ---> 数据库实例 ---> 表空间(逻辑单位)(用户) ---> 数据文件(物理单位)通常情况下,ORacle数据库只会有一个实例ORCL,新建一个项目: MYSQL : 创建一个数据库,创建相应的表 Oracle: 创建一个表空间,创建用户,用户去创建表Oracle和MYSQL的差别Oracle是多用户的, MYSQL是多数据库的查询语句的结...原创 2018-06-04 16:59:53 · 143 阅读 · 0 评论 -
ORACLE中RECORD、VARRAY、TABLE的使用详解
1 说明1.1 RECORD定义记录数据类型。它类似于C语言中的结构数据类型(STRUCTURE),PL/SQL提供了将几个相关的、分离的、基本数据类型的变量组成一个整体的方法,即RECORD复合数据类型。在使用记录数据类型变量时,需要在声明部分先定义记录的组成、记录的变量,然后在执行部分引用该记录变量本身或其中的成员。 定义记录数据类型的语法如下:TYPE RECORD...转载 2018-07-04 09:35:58 · 206 阅读 · 0 评论 -
oracle 存储函数
一.自定义类型 记录表类型(Table)在Oracle中想要返回表对象,必须自定义一个表类型--返回表的一列 type_table:只是一个名称 number:是数据类型create or replace type type_table is table of number; ...转载 2018-07-03 20:26:36 · 355 阅读 · 0 评论 -
oracle中if/else的3种写法
1、标准sql规范 1 一、单个IF 2 1、 3 4 if a=... then 5 ......... 6 end if; 7 8 2、 9 10 if a=... then11 ......12 else13 ....14 end if;15 16 二、多个IF17 18 if a=.. then19 ......20 elsif a=.. t...转载 2018-07-03 17:25:31 · 9117 阅读 · 0 评论 -
decode(value, if1, then1, if2,then2, if3,then3, . . . else )语句
decode,相当于if else语句,进行逻辑判断decode(value, if1, then1, if2,then2, if3,then3, . . . else ) Value 代表某个表的任何类型的任意列或一个通过计算所得的任何结果,当每个value值被测试,value的值为if1,Decode 函数的结果是then1;如果value等于if2,Decode函数结果是then2;等等。...原创 2018-07-03 17:20:44 · 823 阅读 · 0 评论 -
oracle字符串切割
1.首先需要定义一个集合类型,我这里定义的是变长数组类型(VARRAY)create type type_splitstr is varray(1024) of varchar2(128);--注意,我这里之所以不用嵌套表类型(NESTED TABLE),是因为oracle官方文档有如下说明。--Nested Tables: The indexes and row order of a neste...转载 2018-07-02 17:15:19 · 3079 阅读 · 0 评论 -
Oracle修改表空间大小,以及参数设置
问题描述 在向orale数据库导入数据的时候报 ORA-01658: 无法为表空间 XXX中的段创建 INITIAL 区错误。 这是由于表空间对应的数据文件中数据量超过Oracle在创建表空间的时候数据文件初始化大小值,当数据量达到这个值,再向数据库中导入数据就会报错。解决方案 解决办法就是扩展表空间,可以选择将表容量扩大,比如扩展到5000MB,或者当表空间不够时每次自动增加一定的容量,如每次自...转载 2018-06-10 09:00:23 · 28668 阅读 · 1 评论 -
Oracle minus用法详解及应用实例
Oracle minus用法 “minus”直接翻译为中文是“减”的意思,在Oracle中也是用来做减法操作的,只不过它不是传统意义上对数字的减法,而是对查询结果集的减法。A minus B就意味着将结果集A去除结果集B中所包含的所有记录后的结果,即在A中存在,而在B中不存在的记录。其算法跟Java中的Collection的removeAll()类似,即A minus B将只去除A跟B...转载 2018-06-05 11:15:29 · 25539 阅读 · 1 评论 -
row_number() over(partition by 列名1 order by 列名2 desc)的使用
表示根据 列名1 分组,然后在分组内部根据 列名2 排序,而此函数计算的值就表示每组内部排序后的顺序编号,可以用于去重复值与rownum的区别在于:使用rownum进行排序的时候是先对结果集加入伪列rownum然后再进行排序,而此函数在包含排序从句后是先排序再计算行号码.---查询所有姓名,如果同名,则按年龄降序SELECT name,age,detail,ROW_NUMBER() OVER(PA...转载 2018-06-04 21:52:18 · 52194 阅读 · 4 评论 -
oracle 使用rowid删除重复数据
经常有这样一个业务场景,我们在同一张表中有重复的记录,我们要删除重复的记录,这篇文章就是用来解决这个问题的,用的方法是我目前遇到的效率最高的方法(如果有更好的方法欢迎网友提供)。这个方法会用到了rowid,下面简单介绍一下rowid的定义1、ROWID定义ROWID:数据库中行的全局唯一地址对于数据中的每一行,rowid伪列返回行的地址。rowid值主要包含以下信息:对象的数据对象编号该行所在的数...转载 2018-06-04 20:04:35 · 5273 阅读 · 0 评论 -
oracle创建表和序列
1.建表create table tb_od_acceptworkorder( id INTEGER primary key not null, caseid VARCHAR2(100) not null, city VARCHAR2(80),);--添加注释comment on table...原创 2018-06-04 17:12:22 · 13193 阅读 · 0 评论 -
oracle错误异常信息,和解决办法
1.ORA-02292外键约束问题(一般在删除时会遇到)原因: 通常在删除某个表A的时候,会出现这个错误。原因是另一个表B的某个字段引用了A表的某个字段作为外键约束解决办法:1.先查看是哪个表引用了A的字段做为外键select table_name from all_constraints where constraint_name = '约束的名称' 2.让引用外键的表的哪个外键失效3.然后就...原创 2018-07-03 17:29:03 · 4073 阅读 · 0 评论