一、函数概述• PL/SQL中的过程和函数(通常称为子程序)是PL/SQL块的一种特殊的类型,这种类型的子程序可以以编译的形式存放在数据库中,并为后续的程序块调用。 • 相同点:完成特定功能的程序 • 不同点:是否用return语句返回值二、函数语法 CREATE[ORREPLACE]FUNCTION[([IN|OUT|INOUT],…)] RETURN IS|AS [;] BEGIN ; RETURN; [EXCEPTION ; RETURN;] END[];三、函数参数•函数的参数有3种类型: • IN参数类型:表示输入给函数
一、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中的
一、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中的函数可以返回表类型,但是这个表类型实际上是集合类型(与数组类似)。从Oracle9i开始,提供了一个叫做"管道化表函数"来解决此问题。• 管道化表函数,必须返回一个集合类型,且标明pipelined。它不能返回具体变量,必须以一个空return返回,通过piperow()语句来送出要返回的表中的每一行。调用这个函数的时候,通过table()关键字把管道流仿真为一个数据集。二、常见形式2.1、以游标形式返回结果集1)创建函数createorreplacefunctionfn_GetEmpnoByCursor(p_enameinvarchar2)returnsys_
一、基本说明• Oracle中的函数可以返回表类型,但是这个表类型实际上是集合类型(与数组类似)。从Oracle9i开始,提供了一个叫做"管道化表函数"来解决此问题。• 管道化表函数,必须返回一个集合类型,且标明pipelined。它不能返回具体变量,必须以一个空return返回,通过piperow()语句来送出要返回的表中的每一行。调用这个函数的时候,通过table()关键字把管道流仿真为一个数据集。二、常见形式2.1、以游标形式返回结果集1)创建函数createorreplacefunctionfn_GetEmpnoByCursor(p_enameinvarchar2)returnsys_
以下例子在scott用户下进行:一、查看先查看一下 当前用户的scheduler 的所有数据字典,看看要关注什么SETLINE200PAGESIZE2000COLTABLE_NAMEFORA60COLCOMMENTSFORA120SELECTTABLE_NAME,COMMENTSFROMDICTIONARYWHERETABLE_NAMELIKE'%USER_SCHEDULER%'ORDERBY1;一大堆数据字典,暂时关注其中的三个,SELECT*FROMUSER_SCHEDULER_PROGRAMS;SELECT*FROMUSER_SCHEDULER_SCHEDULES;SELECT*FR
以下例子在scott用户下进行:一、查看先查看一下 当前用户的scheduler 的所有数据字典,看看要关注什么SETLINE200PAGESIZE2000COLTABLE_NAMEFORA60COLCOMMENTSFORA120SELECTTABLE_NAME,COMMENTSFROMDICTIONARYWHERETABLE_NAMELIKE'%USER_SCHEDULER%'ORDERBY1;一大堆数据字典,暂时关注其中的三个,SELECT*FROMUSER_SCHEDULER_PROGRAMS;SELECT*FROMUSER_SCHEDULER_SCHEDULES;SELECT*FR
一、引言•PL/SQL程序可通过条件或循环结构来控制命令执行的流程。•PL/SQL提供了丰富的流程控制语句,与Java一样也有三种控制结构: •顺序结构 •选择结构 •循环结构二、选择结构2.1、IF-THEN1)IF-THEN该结构先判断一个条件是否为TRUE,条件成立则执行对应的语句块,与Java中的if语句很相似。declarenewsalemp.sal%type;beginselectsalintonewsalfromempwhereename='James';ifnewsal>=1500thenupdateempsetcomm=1000whereename='James';en
一、引言•PL/SQL程序可通过条件或循环结构来控制命令执行的流程。•PL/SQL提供了丰富的流程控制语句,与Java一样也有三种控制结构: •顺序结构 •选择结构 •循环结构二、选择结构2.1、IF-THEN1)IF-THEN该结构先判断一个条件是否为TRUE,条件成立则执行对应的语句块,与Java中的if语句很相似。declarenewsalemp.sal%type;beginselectsalintonewsalfromempwhereename='James';ifnewsal>=1500thenupdateempsetcomm=1000whereename='James';en
目录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