用法限制

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

概述

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

定义SQL组件

步骤二:配置输入参数 定义过程体的输入参数,支持 Table 和 String 类型,即过程体的输入参数为某表或某字符串,具体如下。Table:若使用组件加工源表数据时,输出结果类别单一恒定,则请使用该类型。该类型的主要配置说明如下。配置项 ...

管理存储过程

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

高度兼容性

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

概述

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

ADB for PostgreSQL支持的语法

DECLARE 定义游标。DECLARE name[BINARY][INSENSITIVE][NO SCROLL]CURSOR[{WITH|WITHOUT} HOLD]FOR query[FOR READ ONLY]更多信息请参见 DECLARE。DELETE 从表中删除行。DELETE FROM[ONLY]table[[AS]alias][USING usinglist][WHERE ...

位置与命名参数表示法

在将参数传递给函数或存储过程时,您可以使用位置或命名参数表示法。如果使用位置表示法指定参数,则必须按其声明的顺序列出参数;如果使用命名表示法指定参数,则参数的顺序无关紧要。要使用命名表示法指定参数,请列出每个参数的名称,...

CALL

参数 参数 说明 procedure_name procedure_name 是(可能是 schema 限定的)存储过程名称。argument_list argument_list 指定存储过程所需参数的列表,以逗号分隔。请注意,argument_list 的每个成员对应于存储过程所需的一个形参。每个...

删除存储过程

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

REF CURSOR 概述

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

调用存储过程

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

新建存储过程

存储过程旨在完成特定功能的 SQL 语句集,经编译创建并保存在数据库中,用户可以通过指定存储过程名并指定所需参数来调用执行,利用存储过程可以加速 SQL 语句的执行。新建存储过程,即由用户创建并能够完成某一特定功能的存储过程存储...

DROP PROCEDURE

PolarDB PostgreSQL版(兼容Oracle)允许重载存储过程名称,因此在 PolarDB PostgreSQL版(兼容Oracle)中,重载存储过程的 DROP PROCEDURE 命令需要使用输入参数数据类型给定的存储过程特征。使用 IFEXISTS、CASCADE 或 RESTRICT 与 ...

COMMIT

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

存储过程中使用holdable cursor

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

存储过程中使用holdable cursor

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

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类型列的值。...

CREATE PROCEDURE

只有 PolarDB PostgreSQL版(兼容Oracle存储过程支持 IMMUTABLE、STABLE、STRICT、LEAKPROOF、COST、ROWS 及 PARALLEL { UNSAFE|RESTRICTED|SAFE } 属性。默认情况下存储过程创建为 SECURITY DEFINERS。在 plpgsql 中定义的存储过程创建...

FETCH

DECLARE被用来定义游标。使用 MOVE可改变游标位置而不检索数据。示例 下面的例子用一个游标遍历一个表:BEGIN WORK;建立一个游标:DECLARE liahona SCROLL CURSOR FOR SELECT*FROM films;在游标 liahona 中取出前 5 行:FETCH FORWARD 5 ...

概述

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

创建存储过程

update_salary 存储过程定义了该存储过程的角色的特权传递给正在调用该存储过程的角色(在执行该存储过程时):CREATE OR REPLACE PROCEDURE update_salary(id INT,new_salary NUMBER)SET SEARCH_PATH='public' SET WORK_MEM='1MB' ...

限定符

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

银泰商业

使用 PolarDB PostgreSQL版(兼容Oracle)后,存储过程可以通过ADAM(Advanced Database&Application Migration)的工具,较快地完成Oracle存储过程到 PolarDB PostgreSQL版(兼容Oracle)的迁移。应用只需要修改数据库连接地址和数据库...

参数中使用默认值

以下简单存储过程演示了如何使用分配运算符将SYSDATE的默认值设置到参数hiredate中:CREATE OR REPLACE PROCEDURE hire_emp(p_empno NUMBER,p_ename VARCHAR2,p_hiredate DATE:=SYSDATE)IS BEGIN INSERT INTO emp(empno,ename,hiredate)...

示例

以下存储过程使用 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 ...

存储过程

用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。AnalyticDB PostgreSQL版 当前支持PL/pgSQL-SQL 过程语言。PL/pgSQL-SQL 过程语言 PL/pgSQL 是 AnalyticDB PostgreSQL版 数据库系统的一个默认安装的过程语言,...

DBMS_PROFILER

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

SECURITY LABEL

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

DBMS_SESSION

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

DBMS_SQL

DESCRIBE_COLUMNS 存储过程 N/A 定义用于保存游标结果集的列。EXECUTE(c)函数 INTEGER 执行游标。EXECUTE_AND_FETCH(c[,exact])函数 INTEGER 执行一个游标并获取一行。FETCH_ROWS(c)函数 INTEGER 从游标中获取的行数。IS_OPEN(c)函数 ...

使用pldebugger插件

PolarDB PostgreSQL版(兼容Oracle)支持多种存储过程语言,例如PLpgSQL、PL/Python、PL/Perl、PL/Tcl、PL/Java等等,您可以使用这些存储过程语言创建对应的函数或存储过程。PolarDB提供了pldebugger插件,可用于调试存储过程。前提条件 ...

pg_cursors

pg_cursors 视图列出了当前可用的游标。简介 pg_cursors 视图列出了当前可用的游标游标有以下几种方式定义:通过 SQL 中的DECLARE语句。通过前端/后端协议中的绑定消息,如第 52.2.3 节中所描述的。通过服务器编程接口(SPI),如第 46.1...

pg_cursors

pg_cursors 视图列出了当前可用的游标。简介 pg_cursors 视图列出了当前可用的游标游标可以以几种方式定义:通过SQL中的 DECLARE 语句。通过前端/后端协议中的绑定消息。通过服务器编程接口(SPI)。pg_cursors 视图显示由任何这些方式...

CREATE PACKAGE

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

创建子存储过程

声明部分中指定的PROCEDURE子句用于定义和命名该块本地的子存储过程。术语 块 指 SPL 块结构,该结构由可选的声明部分、必需的可执行部分和可选的异常部分组成。块是独立存储过程和函数、匿名块、子程序、触发器、包和对象类型方法的结构。...

同步更新Oracle数据库(oracle_fdw)

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

DECLARE

这种选择会覆盖定义游标时指定的方式。因此,在使用扩展查询协议时,这样一个二进制游标的概念实际是被废弃的—任何游标都可以被视作文本或者二进制。除非指定了 WITH HOLD,这个命令创建的游标只能在当前事务中使用。因此,没有 WITH HOLD...

创建对象类型

SELF参数是成员存储过程或函数中的第一个参数,无论它是否在参数列表中明确声明。以下代码片段为Emp_obj_typ定义对象类型主体:CREATE OR REPLACE TYPE BODY emp_obj_typ AS MEMBER PROCEDURE display_emp(SELF IN OUT emp_obj_typ)IS ...

包规格

列的类型通过编写 tablename.columnname%TYPE 来引用,使用此格式有时候能够帮助存储过程独立于表定义的变化。DEFAULT value 如果调用中未提供输入参数,则 DEFAULT 子句为输入参数提供默认值。不能为具有模式 IN OUT 或 OUT 的参数指定 ...
共有200条 < 1 2 3 4 ... 200 >
跳转至: GO
产品推荐
云服务器 安全管家服务 安全中心
这些文档可能帮助您
文件存储 CPFS 对象存储 云存储网关 弹性公网IP 短信服务 人工智能平台 PAI
新人特惠 爆款特惠 最新活动 免费试用