草庐IT

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

Oracle调度器Scheduler

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

Oracle学习笔记十九:PL/SQL流程控制语句

一、引言•PL/SQL程序可通过条件或循环结构来控制命令执行的流程。•PL/SQL提供了丰富的流程控制语句,与Java一样也有三种控制结构:  •顺序结构  •选择结构  •循环结构二、选择结构2.1、IF-THEN1)IF-THEN该结构先判断一个条件是否为TRUE,条件成立则执行对应的语句块,与Java中的if语句很相似。declarenewsalemp.sal%type;beginselectsalintonewsalfromempwhereename='James';ifnewsal>=1500thenupdateempsetcomm=1000whereename='James';en

Oracle学习笔记十九:PL/SQL流程控制语句

一、引言•PL/SQL程序可通过条件或循环结构来控制命令执行的流程。•PL/SQL提供了丰富的流程控制语句,与Java一样也有三种控制结构:  •顺序结构  •选择结构  •循环结构二、选择结构2.1、IF-THEN1)IF-THEN该结构先判断一个条件是否为TRUE,条件成立则执行对应的语句块,与Java中的if语句很相似。declarenewsalemp.sal%type;beginselectsalintonewsalfromempwhereename='James';ifnewsal>=1500thenupdateempsetcomm=1000whereename='James';en

Oracle19c单实例数据库配置OGG单用户数据同步测试

目录19c单实例配置GoldenGate并进行用户数据同步测试一、数据库操作1、开启数据库附加日志2、开启数据库归档模式3、开启goldengate同步4、创建goldengate管理用户5、集成捕获所需权限授权6、创建测试用户及测试表二、配置GOLDENGATE1、配置MGR2、重启MGR3、配置GLOBALS4、创建checkpoint表5、添加表级别的附加日志6、查询数据库字符集7、添加抽取进程8、添加复制进程9、启动抽取进程与复制进程三、进行数据同步测试:1、数据插入测试(1)向SHUAIGE.T1表中插入一条数据(2)检查进程同步状态(3)验证数据是否同步2、数据更新测试(1)在SH