草庐IT

ORACLE_UNQNAME

全部标签

Oracle学习笔记二十五:包的定义与调用

一、包的作用•Oracle中包的概念与Java中包的概念非常类似,只是Java中的包是为了分类管理类,但是关键字都是package。•在一个大型项目中,可能有很多模块,而每个模块又有自己的过程、函数等。而这些过程、函数默认是放在一起的(如在PL/SQL中,过程默认都是放在一起的,即Procedures中),这些非常不方便查询和维护,甚至会发生误删除的事件。所以通过使用包就可以分类管理过程和函数。•包中还可以自定义自定义类型,从而在过程和函数中可以直接使用自定义变量。二、包的构成• 包规范部分• 包体部分--包规范定义语法createorreplacepackage包名as|is--定义存储过程

Oracle学习笔记二十六:触发器的使用

一、触发器简介•什么是触发器(trigger)  • 触发器在数据库里以独立的对象存储,由数据库产生某一类事件而启动运行,即触发器是当某个事件发生时自动地隐式运行。•触发器的特点  •由特定事件触发,外部无法调用。  •触发器无参数。  •一个表上最多可有12个触发器。•触发器的作用  •常用来完成由数据库的完整性约束难以完成的复杂业务规则的约束,或用来监视对数据库的各种操作,实现审计的功能。二、触发器分类1)DML触发器  •Oracle可以在执行DML语句时运行触发,同时可以指定在DML操作前或操作后进行触发,指定对每个行或语句操作上进行触发。2)替代触发器  •由于在Oracle里,不能

Oracle学习笔记二十六:触发器的使用

一、触发器简介•什么是触发器(trigger)  • 触发器在数据库里以独立的对象存储,由数据库产生某一类事件而启动运行,即触发器是当某个事件发生时自动地隐式运行。•触发器的特点  •由特定事件触发,外部无法调用。  •触发器无参数。  •一个表上最多可有12个触发器。•触发器的作用  •常用来完成由数据库的完整性约束难以完成的复杂业务规则的约束,或用来监视对数据库的各种操作,实现审计的功能。二、触发器分类1)DML触发器  •Oracle可以在执行DML语句时运行触发,同时可以指定在DML操作前或操作后进行触发,指定对每个行或语句操作上进行触发。2)替代触发器  •由于在Oracle里,不能

Oracle学习笔记二十三:自定义函数

一、函数概述• PL/SQL中的过程和函数(通常称为子程序)是PL/SQL块的一种特殊的类型,这种类型的子程序可以以编译的形式存放在数据库中,并为后续的程序块调用。  • 相同点:完成特定功能的程序  • 不同点:是否用return语句返回值二、函数语法  CREATE[ORREPLACE]FUNCTION[([IN|OUT|INOUT],…)]    RETURN  IS|AS    [;]  BEGIN    ;    RETURN;    [EXCEPTION      ;      RETURN;]  END[];三、函数参数•函数的参数有3种类型:  • IN参数类型:表示输入给函数

Oracle学习笔记二十三:自定义函数

一、函数概述• PL/SQL中的过程和函数(通常称为子程序)是PL/SQL块的一种特殊的类型,这种类型的子程序可以以编译的形式存放在数据库中,并为后续的程序块调用。  • 相同点:完成特定功能的程序  • 不同点:是否用return语句返回值二、函数语法  CREATE[ORREPLACE]FUNCTION[([IN|OUT|INOUT],…)]    RETURN  IS|AS    [;]  BEGIN    ;    RETURN;    [EXCEPTION      ;      RETURN;]  END[];三、函数参数•函数的参数有3种类型:  • IN参数类型:表示输入给函数

Oracle学习笔记十八:PL/SQL变量类型

一、PL/SQL运算符类型符号说明赋值运算符:=Java和C#中都是等号,PL/SQL的赋值是:=特殊字符||字符串连接操作符--PL/SQL中的单行注释/*,*/PL/SQL中的多行注释,多行注释不能嵌套。>标签分隔符,只为了标识程序特殊位置。..范围操作符,比如1..5标识从1到5算术运算符+,-,*,/基本算术运算符**求幂操作,比如:3**2=9关系运算符>,=,基本关系运算符,=表示相等关系,不是赋值。,!=不等关系逻辑运算符AND,OR,NOT逻辑运算符二、PL/SQL变量定义1)PL/SQL块中变量使用前必须先定义,变量必须定义在DECLARE块中。2)PL/SQL支持SQL中的

Oracle学习笔记十八:PL/SQL变量类型

一、PL/SQL运算符类型符号说明赋值运算符:=Java和C#中都是等号,PL/SQL的赋值是:=特殊字符||字符串连接操作符--PL/SQL中的单行注释/*,*/PL/SQL中的多行注释,多行注释不能嵌套。>标签分隔符,只为了标识程序特殊位置。..范围操作符,比如1..5标识从1到5算术运算符+,-,*,/基本算术运算符**求幂操作,比如:3**2=9关系运算符>,=,基本关系运算符,=表示相等关系,不是赋值。,!=不等关系逻辑运算符AND,OR,NOT逻辑运算符二、PL/SQL变量定义1)PL/SQL块中变量使用前必须先定义,变量必须定义在DECLARE块中。2)PL/SQL支持SQL中的

Oracle学习笔记二十四:自定义函数之返回结果集

一、基本说明• Oracle中的函数可以返回表类型,但是这个表类型实际上是集合类型(与数组类似)。从Oracle9i开始,提供了一个叫做"管道化表函数"来解决此问题。• 管道化表函数,必须返回一个集合类型,且标明pipelined。它不能返回具体变量,必须以一个空return返回,通过piperow()语句来送出要返回的表中的每一行。调用这个函数的时候,通过table()关键字把管道流仿真为一个数据集。二、常见形式2.1、以游标形式返回结果集1)创建函数createorreplacefunctionfn_GetEmpnoByCursor(p_enameinvarchar2)returnsys_

Oracle学习笔记二十四:自定义函数之返回结果集

一、基本说明• Oracle中的函数可以返回表类型,但是这个表类型实际上是集合类型(与数组类似)。从Oracle9i开始,提供了一个叫做"管道化表函数"来解决此问题。• 管道化表函数,必须返回一个集合类型,且标明pipelined。它不能返回具体变量,必须以一个空return返回,通过piperow()语句来送出要返回的表中的每一行。调用这个函数的时候,通过table()关键字把管道流仿真为一个数据集。二、常见形式2.1、以游标形式返回结果集1)创建函数createorreplacefunctionfn_GetEmpnoByCursor(p_enameinvarchar2)returnsys_

Oracle调度器Scheduler

以下例子在scott用户下进行:一、查看先查看一下  当前用户的scheduler  的所有数据字典,看看要关注什么SETLINE200PAGESIZE2000COLTABLE_NAMEFORA60COLCOMMENTSFORA120SELECTTABLE_NAME,COMMENTSFROMDICTIONARYWHERETABLE_NAMELIKE'%USER_SCHEDULER%'ORDERBY1;一大堆数据字典,暂时关注其中的三个,SELECT*FROMUSER_SCHEDULER_PROGRAMS;SELECT*FROMUSER_SCHEDULER_SCHEDULES;SELECT*FR