
Oracle
文章平均质量分 58
Oracle
pan_junbiao
这个作者很懒,什么都没留下…
展开
-
Oracle索引
用户可以在Oracel中创建多种类型的索引,以适应各种表的特点。按照索引数据的存储方式可以将索引分为B树索引、位图索引、反向键索引和基于函数的索引;按照索引列的唯一性可以分为唯一索引和非唯一索引;按照索引列的个数可以分为单列索引和复合索引。建立主键索引和唯一索引的主要目的除了数据的完整性与一致性之外,还具有提高查询速度的作用。建立和规划索引时,必须选择合适的表和列,如果选择的表和列不合适,...原创 2018-04-30 17:04:23 · 438 阅读 · 0 评论 -
Oracle给表和字段添加注释
Oracle给表和字段添加注释。创建“学生信息”数据表。--创建“学生信息”数据表 CREATE TABLE STUDENT_INFO ( STU_ID INT, --学号 STU_NAME VARCHAR2(8), --姓名 EMAIL VARCHAR2(20), --邮箱 SEX C...原创 2018-04-15 17:42:13 · 54339 阅读 · 0 评论 -
Oracle把一列的值合并为一个值并用逗号分隔
Oracle把一列的值合并为一个值,并用逗号分隔。实例中将把部门表(DEPT表)与员工表(EMP表)关联,查询每个部门下的所有员工姓名,员工姓名之间以逗号分隔(如图一)。图一:执行结果1、WMSYS.WM_CONCAT(列名)函数介绍:其函数在Oracle 10g推出,在10g版本中,返回字符串类型,在11g版本中返回clob类型。括号里面的参数是列,而且可以是多个列的集合,也就是说在括号里面可...原创 2018-04-15 16:03:04 · 11415 阅读 · 0 评论 -
Oracle创建数据表综合实例
Oracle创建数据表综合实例。1、创建数据表--判断数据表是否存在,存在则删除DECLARE IS_EXIST NUMBER;BEGIN SELECT COUNT(*) INTO IS_EXIST FROM ALL_TABLES WHERE TABLE_NAME = 'STUDENT_INFO'; IF IS_EXIST = 1 THEN --删除表以及所有引...原创 2017-10-08 11:25:50 · 1693 阅读 · 0 评论 -
Oracle序列
序列是Oracle提供的用于生成一系列唯一数字的数据库对象。序列会自动生成顺序递增的序列号,以实现自动提供唯一的主键值。序列可以在多用户并发环境中使用,并且可以为所有用户生成不重复的顺序数字,而不需要任何额外的I/O开销。1、创建序列序列与视图一样,并不占用实际的存储空间,只是在数据字典中保存它的定义信息。用户在自己的模式中创建序列时,必须具有CREATE SEQUENCE系统权限;如果要原创 2017-10-08 11:03:43 · 974 阅读 · 0 评论 -
Oracle视图
视图是一个虚拟表,它由存储的查询构成,可以将它的输出看做一个表。视图同真实表一样,也可以包含一系列带有名称的列和行数据。但是,视图并不在数据库中存储数据值,其数据值来自定义视图的查询语句所引用的表,数据库只在数据字典中存储视图的定义信息。1、创建视图创建视图最基本的语法如下:create [or replace] view [alias[,alias]…) ]as [with原创 2017-10-07 11:06:30 · 763 阅读 · 0 评论 -
Oracle数据完整性和约束性
数据库不仅仅是存储数据,它还必须保证所有存储数据的正确性,因为只有正确的数据才能提供有价值的信息。如果数据不准确或不一致,那么该数据的完整性就可能受到破坏,从而给数据库本身的可靠性带来问题。为了维护数据库中数据的完整性,在创建表时常常需要定义一些约束。约束可以限制列的取值范围,强制列的取值来自合理的范围。在Oracle 11g系统中,约束的类型包括非空约束、主键约束、唯一约束、外键约束、检查约束和原创 2017-10-06 17:10:41 · 1935 阅读 · 1 评论 -
Oracle维护数据表
在创建表后,如果发现对表的定义有不满意的地方,可以对表进行修改。这些修改操作包括增加或删除表中的字段、改变表的存储参数设置以及对表进行增加、删除和重命名等操作。普通用户只能对自己模式中的表进行修改,如果要对任何模式中的表进行修改操作,用户必须具有ALTER ANY TABLE系统权限。创建一张学生信息表,用于实例的操作使用。--创建“学生信息”数据表CREATE TABLE STUDENT_IN...原创 2017-10-06 12:17:22 · 608 阅读 · 0 评论 -
Oracle程序包
程序包由PL/SQL程序元素(如变量、类型)和匿名PL/SQL块(如游标)、命名PL/SQL块(如存储过程和函数)组成。程序包可以被整体加载到内存中,这样就可以大大加快程序包中任何一个组成部分的访问速度。1、程序包的规范该“规范”用于规定在程序包中可以使用哪些变量、类型、游标和子程序(指各种命名的PL/SQL块),需要注意的是:程序包一定要在“包主体”之前被创建,其语法格式如下:cre原创 2017-06-17 16:18:13 · 1285 阅读 · 0 评论 -
Oracle触发器
触发器可以看做一种“特殊”的存储过程,它定义了一些与数据库相关事件(如INSERT、UPDATE、CREATE等事件)发生时应执行的“功能代码块”,通常用于管理复杂的完整性约束,或监控对表的修改,或通知其他程序,甚至可以实现对数据的审计功能。1、触发器概述在触发器中有一个不得不提的概念——触发事件,触发器正是通过这个“触发事件”来执行的。能够引起触发器运行的操作被称为“触发事件”,如执行D原创 2017-06-11 10:54:22 · 1540 阅读 · 0 评论 -
Oracle服务与配置
1、Oracle 11g服务介绍按照windows 7 64位安装oracle 11g R2中的方法成功安装Oracle 11g后,共有7个服务,这七个服务的含义分别为:1.1 Oracle ORCL VSS Writer Service:Oracle卷映射拷贝写入服务,VSS(VolumeShadow Copy Service)能够让存储基础设备(比如磁盘,阵列等)创建高保真的时间点映像...原创 2017-05-30 15:47:02 · 1528 阅读 · 0 评论 -
Oracle函数
函数一般用于计算和返回一个值,可以将经常需要使用的计算或功能写成一个函数。1、创建函数函数是一种存储在数据库中的命名程序块,函数可以接受零或多个输入参数,并且函数必须有返回值,其定义语法格式如下:create [or replace] function fun_name[(parameter1[,parameter2]…) return data_type is [inner_variable]begin plsql_sentence;[exception] [dowith_s原创 2017-05-21 11:01:21 · 1166 阅读 · 0 评论 -
Oracle存储过程
存储过程是一种命名的PL/SQL程序块,它既可以没有参数,也可以有若干个输入、输出参数,甚至可以有多个既作输入又作输出的参数,但它通常没有返回值。存储过程被保存在数据库中,它不可以被SQL语句直接执行或调用,只能通过EXECUT命令执行或在PL/SQL程序块内部被调用。由于存储过程是已经编译好的代码,所以其被调用或引用时,执行效率非常高。1、创建存储过程创建存储过程需要使用PROCED原创 2017-05-20 11:44:48 · 534 阅读 · 0 评论 -
Oracle异常处理
在编写PL/SQL程序时,避免不了会发生一些错误,可能是程序设计人员自己造成的,也可能是操作系统或硬件环境出错,比如出现除数为零、磁盘I/O错误等情况。对于出现的这些错误,Oracle采用异常机制来处理,异常处理代码通常放在PL/SQL的EXCEPTION代码块中。根据异常产生的机制和原理,可将Oracle系统异常分为预定义异常和自定义异常。1、预定义异常当PL/SQL程序违反了Oracl...原创 2017-04-30 17:08:26 · 1302 阅读 · 0 评论 -
Oracle游标的使用
游标提供了一种从表中检索数据并进行操作的灵活手段,游标主要用在服务器上,处理由客户端发送给服务器端的SQL语句,或是批处理、存储过程、触发器中的数据处理请求。游标的作用就相当于指针,通过游标PL/SQL程序可以一次处理查询结果集中的一行,并可以对该行数据执行特定操作,从而为用户处理数据的过程中提供了很大方便。在Oracle中,通过游标操作数据主要使用显式游标和隐式游标。另外,还包括具有引用类特原创 2017-04-30 12:45:00 · 5477 阅读 · 0 评论 -
Oracle循环语句
当程序需要反复执行某一操作时,就必须使用循环结构。PL/SQL中的循环语句主要包括loop语句、while语句和for语句3种。1、loop语句loop语句会先执行一次循环体,然后在判断“exit when”关键字后面的条件表达式的值是true还是false,如果是true,则程序会退出循环体,否则程序将再次执行循环体,这样就使得程序至少能够执行一次循环体。【实例】使用loop语句求得原创 2017-04-29 16:50:50 · 14432 阅读 · 0 评论 -
Oracle条件语句
条件语句主要作用是根据条件的变化选择执行不同的代码。1、if语句【实例】指定一个月份数值,然后使用if...then...elsif语句判断它所属的季节,并输出季节信息。declare month int:=10; --定义整型变量并赋值begin if month>=0 and month<=3 then --判原创 2017-04-24 22:13:50 · 6425 阅读 · 0 评论 -
Oracle学习之BULK COLLECT用法
通过bulk collect减少loop处理的开销,使用Bulk Collect提高Oracle查询效率。Oracle8i中首次引入了Bulk Collect特性,该特性可以让我们在PL/SQL中能使用批查询,批查询在某些情况下能显著提高查询效率。采用bulk collect可以将查询结果一次性地加载到collections中,而不是通过cursor一条一条地处理。可以在select into,fetch into,returning into语句使用bulk collect。注意在使用bulk c转载 2017-04-23 18:39:37 · 2452 阅读 · 1 评论 -
Oracle中IS TABLE OF的使用
IS TABLE OF :指定是一个集合的表的数组类型,简单的来说就是一个可以存储一列多行的数据类型。INDEX BY BINARY_INTEGER:指索引组织类型BULK COLLECT :指是一个成批聚合类型,简单的来说 , 它可以存储一个多行多列存储类型,采用BULK COLLECT可以将查询结果一次性地加载到集合中。【实例】在SCOTT模式下,使用ISTABLE原创 2017-04-23 18:33:12 · 25248 阅读 · 1 评论 -
Oracle数据类型
数据类型本质上是一种用于描述数据存储的内存结构,用它来决定变量中所存储数据的类型。1、基本数据类型与其他编程语言一样,PL/SQL语言也是有多中数据类型,这些数据类型能够满足在编写PL/SQL程序过程中定义变量和常量。1.1 数值类型数值类型主要包括NUMBER、PLS_INTEGER、BINARY_INTEGER这3中基本类型。其中,NUMBER类型的变量可以存储整数原创 2017-04-23 17:17:30 · 4979 阅读 · 0 评论 -
Oracle常用的系统函数
SQL语言是一种脚步语言,它提供了大量内置函数,使用这些内置函数可以大大增强SQL语言的运算和判读功能。1、字符类函数1.1 ASCII(c)和CHR(i)函数ASCII(c)函数用于返回一个字符串的ASCII码,其中参数c表示一个字符;CHR(i)函数用于返回给出ASCII码值所对应的字符,i表示一个ASCII码值。【实例】分别求得“A、Z、D和空格”的ASCII码。SQL>原创 2017-03-18 15:42:43 · 983 阅读 · 0 评论 -
Oracle多表关联查询
在实际的应用系统开发中会涉及多个数据表,每个表的信息不是独立存在的,而是若干个表之间的信息存在一定的关联,这样当用户查询某一个表的信息时,很可能需要查询关联表的信息,这就是多表关联查询。1、内连接内连接是一种常见的多表关联查询方式,一般使用关键字INNER JOIN来实现。其中,INNER关键字可以省略,当只使用JOIN关键字时,语句只表示内连接操作。在使用内连接查询多个表时,必须在FRO原创 2017-03-12 17:06:38 · 8821 阅读 · 0 评论 -
Oracle常用的数据字典
数据字典是Oracle存放关于数据库内部信息的地方,其用途使用来描述数据库内部的运行和管理情况。1、基本数据字典基本数据字典主要包括描述逻辑存储结构和物理存储结构的数据表。DBA_TABLESPACES:关于表空间的信息DBA_TS_QUOTAS:所有用户表空间限额DBA_FREE_SPACE:所有表空间中的自由分区DBA_SEGMENTS:描述数据库中所有段的原创 2017-03-12 11:28:42 · 1898 阅读 · 0 评论 -
Oracle创建定时任务
Oracle创建定时任务,下面以创建一个每天凌晨3点钟执行的定时任务为实例。1、创建定时任务DECLARE JOB_ID PLS_INTEGER;BEGIN SYS.DBMS_JOB.SUBMIT(JOB => JOB_ID, WHAT => 'PRO_JOB;', INTERVAL =>原创 2017-02-20 15:44:16 · 14673 阅读 · 0 评论 -
Oracle数组的使用
1、一维数组的使用DECLARE --创建数组 TYPE T_USER_VARRAY IS VARRAY(200) OF VARCHAR(50); MY_USER_VAR T_USER_VARRAY := T_USER_VARRAY('张三','李四','王五');BEGIN --遍历数组 FOR I IN 1..MY_U原创 2017-01-09 16:39:57 · 6607 阅读 · 0 评论 -
Oracle应用笔记
1、SEQUENCE序列的使用2、Oracle的输出函数3、NVL (expr1, expr2)、NVL2 (expr1, expr2, expr3) 、NULLIF (expr1, expr2)函数的使用4、DECODE()函数的使用5、定义变量和常量6、新增字段和注释7、建立索引1、SEQUENCE序列的使用--创建序列CREATE SEQUENCE "TPSDATA"."SEQ_TABLE...原创 2017-01-09 16:03:00 · 663 阅读 · 0 评论