用法限制

此外,下表显示了用作存储过程或函数参数的游标变量允许的参数模式(具体取决于存储过程或函数中对游标变量的操作)。表 1.允许的游标变量参数模式 操作 IN IN OUT OUT OPEN 否 是 否 FETCH 是 是 否 CLOSE 是 是 否 例如,如果一个存储...

位置与命名参数表示法

通过使用命名表示法,可在存储过程的参数列表发生更改,参数重新排序或添加了新可选参数的情况下,减少重新排列参数列表的需要。如果某一参数具有默认值,并且该参数不是尾随参数,您必须使用命名表示法来调用存储过程或函数。以下示例演示...

概述

使用存储过程和函数的一个重要方面是,能够将数据从调用程序传递给存储过程或函数,并能够从存储过程或函数接收回数据。这将通过使用参数来实现。参数存储过程或函数定义中声明,在存储过程或函数名称后面用圆括号(())括起。在存储过程...

DROP PROCEDURE

如果这是一个重载存储过程,则必须为存储过程指定所有输入(IN、IN OUT)参数的数据类型。(该要求与 Oracle 数据库不兼容。在 Oracle 中,仅指定存储过程名称。PolarDB PostgreSQL版(兼容Oracle)允许重载存储过程名称,因此在 PolarDB ...

CALL

argument_list argument_list 指定存储过程所需参数的列表,以逗号分隔。请注意,argument_list 的每个成员对应于存储过程所需的一个形参。每个形参可能是 IN 参数、OUT 参数或 INOUT 参数。示例 CALL 语句可采用多种形式之一,具体取决于...

示例

以下存储过程使用 SELECT 命令打开给定的游标变量,该命令检索所有行。CREATE OR REPLACE PROCEDURE open_all_emp(p_emp_refcur IN OUT SYS_REFCURSOR)IS BEGIN OPEN p_emp_refcur FOR SELECT empno,ename FROM emp;END;此变体使用 SELECT ...

管理存储过程

概述 在 OceanBase 开发者中心(OceanBase Developer Center,ODC)首页单击连接名进入连接后,在左导航栏中单击 存储过程 标签可查看存储过程列表,在存储过程列表中显示当前连接的数据库中存在的存储过程对象。在存储过程列表中,可查看...

高度兼容性

存储过程开发语言 存储过程开发语言是业务应用常用的一种数据库开发语言,被很多应用开发同学所熟悉,PolarDB PostgreSQL版(兼容Oracle)对Oracle存储过程语言有着很高的兼容度,包括COLLECTION、GOTO、SAVEPOINT、ROLLBACK TO、CURSOR、...

参数游标

您还可以声明接受参数的静态游标,并在打开该游标时传递这些参数的值。在下面的示例中,我们创建了一个参数化游标,该游标将显示emp表中其薪水低于作为参数传递的指定值的所有员工的姓名和薪水。DECLARE my_record emp%ROWTYPE;CURSOR c1...

SECURITY LABEL

argmode 一个函数,存储过程或者聚集函数参数的模式:IN、OUT、INOUT 或者 VARIADIC。如果被忽略,默认值会是 IN。注意 SECURITY LABEL 并不真正关心 OUT 参数,因为判断函数的身份时只需要输入参数。因此列出 IN、INOUT 和 VARIADIC 参数...

DROP PROCEDURE

该过程的参数类型必须指定,因为可能存在多个不同的过程具有相同名称和不同参数列表。语法 DROP PROCEDURE[IF EXISTS]name[([[argmode][argname]argtype[,.]])][,.][CASCADE|RESTRICT]参数 IF EXISTS 如果该过程不存在也不抛出一个错误。...

概述

dblink_ora 提供基于 OCI 的数据库链接,使您可以从 PolarDB PostgreSQL版(兼容Oracle)对存储Oracle 系统中的数据执行 SELECT、INSERT、UPDATE 或 DELETE 命令。要启用 Oracle 连接,可从其网站下载 Oracle 免费提供的 OCI 驱动程序。...

ALTER PROCEDURE

示例 要重命名具有两个 integer 类型参数的过程 insert_data 为 insert_record:ALTER PROCEDURE insert_data(integer,integer)RENAME TO insert_record;要把具有两个 integer 类型参数的过程 insert_data 的拥有者改为 joe:ALTER ...

COMMENT

argmode 一个函数,存储过程或者聚集函数的参数的模式:IN、OUT、INOUT 或者 VARIADIC。如果被省略,默认值是 IN。注意 COMMENT 并不真正关心 OUT 参数,因为决定函数的身份只需要输入参数。因此列出 IN、INOUT 和 VARIADIC 参数就足够了。...

CREATE PROCEDURE

CREATE PROCEDURE 用于定义一个新的过程。简介 CREATE PROCEDURE 定义一个新的过程。CREATE OR REPLACE PROCEDURE 将会创建一个新过程或者替换一个已有的定义。为了能够定义过程,用户必须具有所使用的语言上的 USAGE 特权。如果这个命令中...

概述

这样便可创建 SPL 程序逻辑,该逻辑从结果集中检索一行,对该行中的数据进行一些处理,然后检索下一行并重复该存储过程游标最常用在 FOR 或 WHILE 循环的上下文中。SPL 逻辑中应包含一个条件测试,用于检测何时到达结果集的末尾,以便...

COMMIT

提交当前事务。语法 COMMIT[WORK]说明 ...在 plpgsql 过程中执行 COMMIT 时,如果运行时堆栈上有 Oracle 样式的 SPL 存储过程,则会引发错误。参数 参数 说明 WORK 可选关键字-没有任何效果。示例 提交当前事务并使所有更改永久保存:COMMIT;

DBMS_SQL

c1:num1,c2:1-last count is:1-c1:num2,c2:2-last count is:2-c1:num3,c2:3-last count is:3-c1:num4,c2:4-last count is:4-c1:num5,c2:5-last count is:5 COLUMN_VALUE_CHAR 该存储过程用于返回游标中给定位置的CHAR类型列的值。...

REF CURSOR 概述

游标变量是一个实际包含指向查询结果...REF CURSOR 类型可以作为参数传递到存储过程和函数或从存储过程和函数传递。函数的返回类型也可以是 REF CURSOR 类型。这提供了通过在程序之间传递游标变量,来将游标上的操作模块化为单独程序的能力。

DBMS_SESSION

语法 该存储过程使用了自定义类型作为参数,该类型的语法和存储过程的语法如下:TYPE AppCtxRecTyp IS RECORD(namespace VARCHAR2(30),attribute VARCHAR2(30),value VARCHAR2(256));TYPE AppCtxTabTyp IS TABLE OF AppCtxRecTyp;DBMS_...

CREATE PACKAGE

如果包括此子句,则使用全常量参数存储过程的任何调用将立即替换为存储过程值。RNDS|RNPS|TRUST|WNDS|WNPS 为了兼容性目的而接受这些关键字,但会忽略它们。示例 包规格 empinfo 包含三个公共组件:公共变量、公共存储过程和公共函数。...

存储过程中使用holdable cursor

存储过程中使用动态游标时,PostgreSQL原生不支持将动态游标设置为holdable模式(非存储过程中支持),如果在存储过程中打开一个动态游标并执行事务修改保存操作后,再次尝试获取数据将会报错,因为进行事务保存操作时当前事务中的游标将...

存储过程中使用holdable cursor

存储过程中使用动态游标时,PostgreSQL原生不支持将动态游标设置为holdable模式(非存储过程中支持),如果在存储过程中打开一个动态游标并执行事务修改保存操作后,再次尝试获取数据将会报错,因为进行事务保存操作时当前事务中的游标将...

新建存储过程

概述 存储过程是一条或多条语句的集合,对数据库进行一系列复杂操作时,存储过程可以在数据库内将这类复杂操作封装成一个代码块,以便重复使用,从而减少数据库开发人员的工作量。存储过程旨在完成特定功能的 SQL 语句集,经编译创建并保存...

调用存储过程

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

GOTO 语句

label 必须在函数、存储过程或匿名块的范围内是唯一的。要标记语句,请使用语法:<<label>>statement statement 是程序跳转到的执行点。您可以标记赋值语句、任何 SQL 语句(如 INSERT、UPDATE、CREATE 等)和所选的存储过程语言语句。可...

RAISE_APPLICATION_ERROR

利用 RAISE_APPLICATION_ERROR 存储过程,开发者可通过导致异常,有意中止从中调用该存储过程的 SPL 程序中的处理。异常的处理方式与 异常处理 中描述的相同。此外,RAISE_APPLICATION_ERROR 存储过程还会向程序提供用户定义的代码和错误...

创建对象类型

成员方法 成员方法是在某一对象类型中定义的函数或存储过程,只能通过该类型的实例进行调用。成员方法可访问它们运行所在的对象实例的属性,并且可更改这些属性。以下对象类型规格创建emp_obj_typ对象类型:CREATE OR REPLACE TYPE emp_obj...

RETURN 语句

RETURN 语句终止当前函数、存储过程或匿名块并将控制权交还给调用者。有两种形式的 RETURN 语句。第一种形式的 RETURN 语句用于终止返回 void 的存储过程或函数。语法为:RETURN;第二种形式的 RETURN 将值返回给调用者。语法为:RETURN ...

参数中使用默认值

形参声明的常规形式如下:(name[IN|OUT|IN OUT]data_type[{DEFAULT|:=} expr])name是分配给参数的标识符。IN|OUT|IN OUT指定参数模式。data_type是分配给变量的数据类型。expr是分配给参数的默认值。如果未包括DEFAULT子句,则调用方必须为...

删除存储过程

说明 某些情况下(例如,这是一个重载存储过程),在 PolarDB PostgreSQL版(兼容Oracle)中需要指定参数列表。Oracle 要求始终省略参数列表。IF EXISTS、CASCADE 或 RESTRICT 的用法与 Oracle 数据库不兼容。有关这些选项的信息,请参阅...

ALTER PROCEDURE

参数 参数 说明 procedure_name procedure_name 指定存储过程(可能是 schema 限定的)名称。options[EXTERNAL]SECURITY DEFINER 指定 SECURITY DEFINER 以指示服务器使用创建了存储过程的用户的特权执行该存储过程。为了实现兼容性而支持 ...

概述

通过将SPL代码组织为子存储过程和子函数,可以有利地运用SPL存储过程和函数程序的能力和功能来构建结构良好且易于维护的程序。通过在SPL程序中声明子存储过程和子函数,可从相对较大的SPL程序中的不同位置多次调用相同的SPL代码。子存储...

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...

概述

SPL 是一种高效的过程式编程语言,用于为 PolarDB PostgreSQL版(兼容Oracle)编写自定义存储过程、函数、触发器和包。SPL提供如下特性:完整的过程编程功能,以补充 SQL 语言。一种通用语言,用于为 PolarDB PostgreSQL版(兼容Oracle)...

DBMS_PROFILER

表 1.DBMS_PROFILER函数/存储过程 函数/存储过程 类型 返回类型 描述 FLUSH_DATA 函数、存储过程 Status code、exception 刷新当前会话中收集的性能数据。GET_VERSION(major OUT,minor OUT)存储过程 N/A 返回 DBMS_PROFILER 版本信息。...

限定符

限定符是指定作为限定条件对象的实体的所有者或上下文的名称。将限定对象指定为限定符名称,后跟...在存储过程或函数定义中声明的所有形参均有 p_前缀。例如,p_empno。列名称和表名称没有任何特殊的前缀约定。例如,表 emp 中的列 empno。

DROP FUNCTION

如果函数名称在其模式中是唯一的,则可以在不带参数列表的情况下引用它:DROP FUNCTION update_employee_salaries;说明 这与 DROP FUNCTION update_employee_salaries();不同,后者引用一个零个参数的函数,而第一个变体才可以引用具有任意...

数据类型转换

本文为您介绍迁移 Oracle 数据库的数据至 OceanBase 数据库 Oracle 租户的数据类型转换。支持的转换类型 Oracle 数据库 OceanBase 数据库 Oracle 租户 描述 INTEGER NUMBER(38,0)INT NUMBER(38,0)SMALLINT NUMBER(38,0)BINARY_FLOAT BINARY...
共有200条 < 1 2 3 4 ... 200 >
跳转至: GO
产品推荐
云服务器 安全管家服务 安全中心
这些文档可能帮助您
文件存储 CPFS 对象存储 云存储网关 弹性公网IP 短信服务 人工智能平台 PAI
新人特惠 爆款特惠 最新活动 免费试用