概述

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

高度兼容性

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

用法限制

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

PL 编译和调试

前提条件 ODC PL 支持现状 功能 支持的对象 支持的数据源 支持版本 编译 函数/存储过程/程序包 OceanBase Oracle、OB Cloud Oracle V2.2.7x、V3.0.0 及之后版本。调试 函数/存储过程/匿名块 OceanBase Oracle V3.2.3 及之后版本。运行 函数...

CLOSE

CLOSE 用于释放与一个已打开游标相的资源。简介 CLOSE 释放与一个已打开游标相关的资源。在游标被关闭后,不允许在其上做后续的操作。当不再需要使用一个游标时应该关闭它。当一个事务被 COMMIT 或者 ROLLBACK 终止时,每一个非可保持的已...

存储过程中使用holdable cursor

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

存储过程中使用holdable cursor

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

示例

从函数返回 REF CURSOR 在以下示例中,将使用一个查询打开游标变量,该查询选择具有给定工作的员工。请注意,在此函数的 RETURN 语句中指定了游标变量,因此结果集可供函数的调用方使用。CREATE OR REPLACE FUNCTION emp_by_job(p_job ...

银泰商业

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

DROP PROCEDURE

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

游标变量获取行

打开游标变量后,可以使用 FETCH 语句从结果集中检索行。在下面的示例中,已将 FETCH 语句添加到上一个示例中,因此现在结果集将返回到两个变量中,然后显示。请注意,用于确定静态游标的游标状态的游标属性也可以与游标变量结合使用。...

游标 FOR 循环

在目前为止提供的游标示例中,处理游标结果集所需的编程逻辑包括一个用于打开游标的语句、一个用于检索结果集的每一行的循环结构、一个用于结果集末尾的测试和一个用于关闭游标的语句。游标 FOR 循环是一个循环结构,使用户无需单独编写...

概述

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

游标提取行

打开游标后,可通过使用 FETCH 语句从该游标的结果集检索行。FETCH name INTO { record|variable[,variable_2].};name 是先前打开的游标的标识符。record 是先前定义的记录(例如,使用 table%ROWTYPE)的标识符。variable,variable_2.是...

内置的安全审计规则

CMDSHELL执行系统命令(SQLServer语法)高 存储过程滥用 执行危险的操作,存储过程XP_SENDMAIL(SQLServer语法)高 存储过程滥用 执行危险的操作,存储过程XP_RUNWEBTASK(SQLServer语法)高 存储过程滥用 执行危险的操作,存储过程XP_...

DBMS_OBFUSCATION_TOOLKIT

PolarDB PostgreSQL版(兼容Oracle)提供的DBMS_OBFUSCATION_TOOLKIT包支持使用MD5函数和存储过程,且与Oracle兼容。使用须知 2020年3月30日及之后创建的 PolarDB PostgreSQL版(兼容Oracle)集群,会在创建数据库时自动创建 DBMS_...

存储过程

您在使用存储过程时,可以指定存储过程的名字并使用参数(parameters),并在合适的时候调用存储过程实现相同或者不同的业务。本文将介绍存储过程的使用方法。背景信息 AnalyticDB PostgreSQL 6.0版 中,函数(Function)虽然可以实现大...

ROLLBACK

中止当前事务。语法 ROLLBACK[WORK]说明 ROLLBACK 回滚当前事务并导致废弃对事务执行的所有更新。...注意 如果运行时堆栈中存在 Oracle 样式的 SPL 存储过程,则在 plpgsql 过程中执行 ROLLBACK 会引发错误。示例 中止所有更改:ROLLBACK;

使用pldebugger插件

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

COMMIT

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

使用pldebugger插件

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

DBMS_CRYPTO

DBMS_CRYPTO 包提供的函数和存储过程允许您对RAW、BLOB或CLOB数据进行加密或解密。您可以使用 DBMS_CRYPTO 函数来产生强加密型随机值。DBMS_CRYPTO函数/存储过程 函数/存储过程 返回类型 描述 DECRYPT(src,typ,key,iv)RAW 解密RAW类型的...

新建存储过程

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

FETCH

cursor_name 一个已打开游标的名称。输出 如果成功完成,FETCH 命令返回一个下面形式的命令标签:FETCH count count 是取得的行数(可能为零)。注意在psql中,命令标签将不会实际显示,因为psql会显示被取得的行。说明 如果想要使用 FETCH...

DBMS_SQL

表 1.DBMS_SQL函数/存储过程 函数/存储过程 类型 返回类型 说明 BIND_VARIABLE(c,name,value[,out_value_size])存储过程 N/A 将值绑定到变量。BIND_VARIABLE_CHAR(c,name,value[,out_value_size])存储过程 N/A 将CHAR值绑定到变量。BIND_...

新建函数

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

GRANT on Database Objects

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

DBLink插件

简介 DBLink插件提供了以函数形式访问远程postgres数据库,它相比于外部表更加灵活,可以调用远程数据库中的函数、存储过程等特殊对象。说明 如果仅仅是访问远程数据库中的表,还是推荐使用postgres_fdw等外部表,它的性能更加高效。dblink...

存储费用

按量付费:归档存储不足规定时长费用=被删除文件大小(GB)×归档存储文件存储月单价÷30(天)÷24(小时)×(1440-已存储时间)资源包:归档-本地冗余存储包 重要 当归档类型存储时长远不足1440小时的情况下,由于OSS是一次性计算归档...

删除存储过程

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

REF CURSOR 概述

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

DBMS_SESSION

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

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

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

游标

要想这么做,该函数打开游标并且把该游标的名字返回给调用者(或者简单的使用调用者指定的或已知的入口名打开游标)。调用者接着可以从游标中取得行。游标可以由调用者关闭,或者是在事务关闭时自行关闭。用于一个游标的入口名可以由编程者...

创建子存储过程

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

概述

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

PLV8

PreparedPlan.cursor([args]):从预编译语句中打开一个游标。args 参数和 plv8.execute()以及 PreparedPlan.execute()所需参数相同。返回值是游标类型的对象。在退出函数之前,必须由 Cursor.close()关闭。var plan=plv8.prepare('SELECT*...

PLV8

PreparedPlan.cursor([args]):从预编译语句中打开一个游标。args 参数和 plv8.execute()以及 PreparedPlan.execute()所需参数相同。返回值是游标类型的对象。在退出函数之前,必须由 Cursor.close()关闭。var plan=plv8.prepare('SELECT*...

PLV8

PreparedPlan.cursor([args]):从预编译语句中打开一个游标。args 参数和 plv8.execute()以及 PreparedPlan.execute()所需参数相同。返回值是游标类型的对象。在退出函数之前,必须由 Cursor.close()关闭。var plan=plv8.prepare('SELECT*...

CREATE PACKAGE

如果包括此子句,则使用全常量参数对存储过程的任何调用将立即替换为存储过程值。RNDS|RNPS|TRUST|WNDS|WNPS 为了兼容性目的而接受这些关键字,但会忽略它们。示例 包规格 empinfo 包含三个公共组件:公共变量、公共存储过程和公共函数。...
共有200条 < 1 2 3 4 ... 200 >
跳转至: GO
产品推荐
云服务器 安全管家服务 安全中心
这些文档可能帮助您
对象存储 云存储网关 文件存储 CPFS 弹性公网IP 短信服务 人工智能平台 PAI
新人特惠 爆款特惠 最新活动 免费试用