概述

本章介绍 PolarDB 提供的内置包及其使用...对于一些特殊的内置包,非超级用户在使用这些包中的函数或存储过程前,必须被授予执行权限。对于大多数内置包,默认情况下,可以直接将执行权限授予public组。关于授权的详细信息请参见 GRANT 命令。

DBMS_RANDOM

INITIALIZE Procedure 该存储过程 使用指定的种子初始化DBMS_RANDOM包。语法 DBMS_RANDOM.INITIALIZE(val IN INTEGER);参数说明 参数 说明 val 用于生成随机数的指定种子值。示例 该示例展示了如何用指定的数字初始化DBMS_RANDOM的种子值。...

参数模式

形参的以下特点取决于其模式:调用存储过程或函数时的初始值。被调用存储过程或函数是否可修改形参。实参值如何从调用程序传递到被调用程序。当被调用程序中发生未处理的异常时,形参值会发生什么。以下内容根据其模式总结了参数的行为。IN...

ALL_SOURCE

ALL_SOURCE 视图提供以下程序类型的源代码列表:函数、存储过程、触发器、包规格和包正文。名称 类型 说明 owner TEXT 程序所有者的用户名。schema_name TEXT 程序所属 schema 的名称。name TEXT 程序的名称。type TEXT 程序的类型,可能值...

用户定义的异常

以下存储过程(purchase)调用 check_balance 存储过程。如果 p_amount 大于 p_balance,则 check_balance 会引发异常;purchase 会捕获 ar.overdrawn 异常。purchase 必须使用包限定名称(ar.overdrawn)来引用异常,因为 purchase 未在 ar 包...

SECURITY LABEL

表、聚集、域、外部表、函数、存储过程、例程、序列、类型和视图的名称可以是模式限定的。provider 这个标签相关联的提供者的名称。所提到的提供者必须已被载入并且必须赞同所提出的标签操作。如果正好只载入了一个提供者,可以出于简洁的...

新建函数

说明 Oracle 模式下函数和存储过程均包含 IN/OUT/INOUT 参数;MySQL 模式下只包含 IN 参数,而存储过程包含 IN/OUT/INOUT 参数。步骤 4:确认创建函数 单击 确定,进入 SQL 创建确认页面。步骤 5:编辑函数语句 在 SQL 创建确认页面,编辑...

记录类型和记录变量

下面是执行此存储过程的输出。EXEC emp_sal_query(7698);Employee#:7698 Name:BLAKE Job:MANAGER Hire Date:01-MAY-81 00:00:00 Salary:2850.00 Dept#:30 Employee's salary is more than the department average of 1566.67$icmsDocProps=...

CREATE TYPE BODY

如果未明确声明 SELF,则其参数模式默认为 IN OUT(对于成员存储过程)和 IN(对于成员函数)。argname 参数的名称。参数在方法主体中通过该名称进行引用。argtype 方法参数的数据类型。参数类型可以是基本数据类型或用户定义类型,如嵌套...

创建包规格

包规格包含可从包外部引用的包中所有元素的定义。这些定义称为包的公共元素,用作包接口。以下代码示例是包规格:Package ...此包规格由两个函数和两个存储过程组成。为方便起见,我们还可以添加 OR REPLACE 子句到 CREATE PACKAGE 语句。

GRANT on Database Objects

这是因为在 Oracle 中,所有程序共享同一个命名空间,而在 PolarDB PostgreSQL版(兼容Oracle)中,函数、存储过程和包具有它们自己的单独命名空间,从而在某种程度上允许重载程序名称。ALL PRIVILEGES 一次性授予所有可用特权。其他命令...

pg_language

目录 pg_language 注册了可用于编写函数或存储过程的语言。列名称 列类型 描述 oid oid 行标识符。lanname name 语言的名字。lanowner oid 语言的拥有者。lanispl bool 内部语言为假(如SQL),用户定义语言为真。当前,pg_dump仍然使用这...

赋值

以下示例显示存储过程的可执行部分中的赋值语句的典型使用。CREATE OR REPLACE PROCEDURE dept_salary_rpt(p_deptno NUMBER)IS todays_date DATE;rpt_title VARCHAR2(60);base_sal INTEGER;base_comm_rate NUMBER;base_annual NUMBER;BEGIN...

关闭游标变量

与静态游标不同,游标变量不必在再次重新打开之前关闭。之前打开的结果集将丢失。通过添加CLOSE语句完善该示例。...以下是执行此存储过程时的输出。EXEC emp_by_dept(20)EMPNO ENAME-7369 SMITH 7566 JONES 7788 SCOTT 7876 ADAMS 7902 FORD

INSERT

以下是使用从调用程序传递的数据插入新员工的存储过程的示例。CREATE OR REPLACE PROCEDURE emp_insert(p_empno IN emp.empno%TYPE,p_ename IN emp.ename%TYPE,p_job IN emp.job%TYPE,p_mgr IN emp.mgr%TYPE,p_hiredate IN emp.hiredate%...

PRAGMA EXCEPTION_INIT

以下存储过程(purchase)调用check_balance存储过程。如果p_amount大于p_balance,则check_balance会引发异常;purchase会捕获ar.overdrawn异常。CREATE PROCEDURE purchase(customerID int,amount NUMERIC)AS BEGIN ar.check_balance...

COMMIT

COMMIT 命令可在匿名块、存储过程或函数中使用。在 SPL 程序内,它可出现在可执行部分和/或异常部分中。在以下示例中,匿名块中的第三个 INSERT 命令导致错误。前两个 INSERT 命令的效果将保留,如第一个 SELECT 命令的输出所示。即使在...

使用前置声明

前置声明是子存储过程或子函数名称、形参和子函数的规格;如果是子函数,则返回类型。完整子程序规格(由可选声明部分、可执行部分和可选异常部分组成)必须与前置声明在同一声明部分中指定,但可出现在用前置声明调用此子程序的其他子程序...

创建子函数

块是独立存储过程和函数、匿名块、子程序、触发器、包和对象类型方法的结构。短语 标识符是块本地的 意味着标识符(即,变量、游标、类型或子程序)在该块的声明部分中声明,因此可由 SPL 代码在该块的可执行部分和可选异常部分中进行访问...

存储过程和函数中的编译错误

当 PolarDB PostgreSQL版(兼容Oracle)分析程序编译存储过程或函数时,它们确认CREATE语句和程序主体(程序中 AS 关键字后面的那部分)符合SPL和SQL构造的语法规则。默认情况下,如果分析程序检测到错误,服务器将终止编译过程。请注意,...

包规格

列的类型通过编写 tablename.columnname%TYPE 来引用,使用此格式有时候能够帮助存储过程独立于表定义的变化。DEFAULT value 如果调用中未提供输入参数,则 DEFAULT 子句为输入参数提供默认值。不能为具有模式 IN OUT 或 OUT 的参数指定 ...

CREATE LANGUAGE

接着,可以用这种新语言定义函数和存储过程。CREATE LANGUAGE 实际上把该语言名称与负责执行用该语言编写的函数的处理器函数关联在一起。CREATE OR REPLACE LANGUAGE 将创建或者替换一种现有的定义。如果该语言已经存在,其参数会被根据...

删除存储过程

通过使用DROP PROCEDURE命令,可从数据库中删除存储过程。DROP PROCEDURE[IF EXISTS]name[(parameters)][CASCADE|RESTRICT];其中,name 是要删除的存储过程的名称。说明 某些情况下(例如,这是一个重载存储过程),在 PolarDB PostgreSQL...

调用存储过程

您可从另一个 SPL 程序调用存储过程,只需指定该存储过程名称,后跟其参数(如果有),最后以分号结尾。name[([parameters])];其中:name 是存储过程的标识符。parameters 是实参的列表。说明 如果没有要传递的实参,则可以用空参数列表...

DBMS_UTILITY

PostgreSQL 14.8(PolarDB 14.8.10.0 build 0d3bf26c debug)-PostgreSQL 14.8(PolarDB 14.8.10.0 build 0d3bf26c debug)EXEC_DDL_STATEMENT 该存储过程用于执行DDL语句。语法 DBMS_UTILITY.EXEC_DDL_STATEMENT(parse_string IN VARCHAR2);...

在变量声明中使用%TYPE

存储过程的输出结果如下:EXEC emp_sal_query(7698);Employee#:7698 Name:BLAKE Job:MANAGER Hire Date:01-MAY-81 00:00:00 Salary:2850.00 Dept#:30 Employee's salary is more than the department average of 1566.67

同步更新Oracle数据库(oracle_fdw)

RDS PostgreSQL提供oracle_fdw插件,可以连接到Oracle数据库,通过操作PostgreSQL表同步更新Oracle数据库中的表。前提条件 实例为RDS PostgreSQL 12(内核版本20200421及以上)。说明 您可以执行 SHOW rds_supported_extensions;查看是否...

Oracle Golden Gate

Oracle Golden Gate(OGG)可用于将Oracle中的数据同步到 AnalyticDB MySQL 中。Oracle Golden Gate数据类型与AnalyticDB MySQL兼容性 源端 目标端 同步行为 Oracle MySQL AnalyticDB MySQL INSERT UPDATA DELETE number(3)bool或tinyint(1...

概述

场景一:PolarDB PostgreSQL版(兼容Oracle)到ECS自建PostgreSQL的DBLink 客户原来使用的是ECS自建PostgreSQL数据库,在迁移至 PolarDB PostgreSQL版(兼容Oracle)的过程中,由于部分原因,先迁移了一部分业务系统上 PolarDB PostgreSQL...

OGG for Big Data

下面将介绍Oracle/OGG相关安装和配置过程Oracle的安装将不做介绍,另外需要注意的是:Oracle/OGG相关参数配置以熟悉Oracle/OGG的运维人员配置为准,本示例只是提供一个可运行的样本。OGG 源端配置 本文以Oracle11g为例,给出一个可用示例...

游标属性

调用前面的存储过程时,输出显示如下:EXEC cursor_example;EMPNO ENAME-7369 SMITH 7499 ALLEN 7521 WARD 7566 JONES 7654 MARTIN 7698 BLAKE 7782 CLARK 7788 SCOTT 7839 KING 7844 TURNER 7876 ADAMS 7900 JAMES 7902 FORD 7934 MILLER%...

ROLLBACK

ROLLBACK 命令撤消当前事务期间执行的所有数据库更新,并结束当前事务。ROLLBACK[WORK];ROLLBACK 命令可在匿名块、存储...说明 如果运行时堆栈上存在 Oracle 样式的 SPL 过程,则在 PLPGSQL 存储过程中执行 COMMIT 或 ROLLBACK 将会引发错误。

术语

本文介绍 PolarDB PostgreSQL版(兼容Oracle)使用过程中遇到的术语。名词 描述 地域(Region)数据中心所在的地理位置。可用区(Zone)可用区是指在某一地域内,具有独立电力和网络的物理区域。同一可用区内实例之间的网络延时更小。集群...

DBMS_RLS

表 1.DBMS RLS 函数/存储过程 函数/存储过程 类型 返回类型 说明 ADD POLICY(object schema,object name,policy name,function schema,policy function[,statement types[,update check[,enable[,static policy[,policy type[,long ...

跨机并行查询

PolarDB PostgreSQL版(兼容Oracle)提供了跨机并行查询(Parallel Execution)的功能,支持多个计算节点分布式地执行SQL查询,加速 PolarDB PostgreSQL版(兼容Oracle)的分析型查询性能,充分发挥存储层PolarFileSystem的高I/O吞吐能力,...

DBMS_SESSION

PolarDB PostgreSQL版(兼容Oracle)支持使用DBMS_SESSION.SET_ROLE存储过程。函数/存储过程 函数/存储过程 返回类型 说明 SET_ROLE(role_cmd)N/A 执行 SET_ROLE 语句,后跟 role_cmd 中指定的字符串值。与Oracle相比,PolarDB PostgreSQL...

CREATE PROCEDURE

存储过程重载是一项 PolarDB PostgreSQL版(兼容Oracle)功能-独立存储过程的重载与 Oracle 数据库不兼容。要更新现有存储过程的定义,可使用 CREATE OR REPLACE PROCEDURE。无法以这种方式更改存储过程的名称或参数类型(如果您尝试过,...

存储过程

本文介绍RDS SQL Server(2012及以上版本)支持的存储过程。实例内复制数据库 设置数据库在线 数据库全局授权 删除数据库 设置更改跟踪 开启数据库变更捕获 关闭数据库变更捕获 配置实例参数 增加链接服务器Linked Server 设置跟踪标志 ...

自建Oracle迁移至阿里云消息队列Kafka版

本文介绍如何使用数据传输服务DTS(Data Transmission Service),将自建Oracle迁移至阿里云消息队列Kafka。前提条件 已创建源数据库自建Oracle和目标实例 阿里云消息队列Kafka版。说明 源数据库和目标实例支持的版本,请参见 迁移方案概览...

声明变量

例如,将 SYSDATE 分配给 DATE 类型的变量会使该变量具有当前调用的时间,而不是预编译存储过程或函数时的时间。以下存储过程说明一些变量声明,它们使用包括字符串和数值表达式的默认值。CREATE OR REPLACE PROCEDURE dept_salary_rpt(p_...
共有200条 < 1 2 3 4 ... 200 >
跳转至: GO
产品推荐
云服务器 安全管家服务 安全中心
这些文档可能帮助您
文件存储 CPFS 云存储网关 对象存储 弹性公网IP 短信服务 人工智能平台 PAI
新人特惠 爆款特惠 最新活动 免费试用