存储过程中使用holdable cursor

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

存储过程中使用holdable cursor

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

概述

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

DDL差异

CREATE PROCEDURE 不支持 定义存储过程。CREATE SERVER 不支持 定义一个用于存储引擎的服务器。CREATE TABLE 支持,详情请参见 CREATE TABLE。创建表。CREATE TEMPORARY TABLE 不支持 创建临时表 CREATE TABLE.LIKE 支持 使用LIKE语法创建...

管理存储过程

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

用法限制

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

存储过程

查看所有已定义存储过程 SELECT*FROM information_schema.Routines WHERE ROUTINE_TYPE='PROCEDURE';查看某个特定的存储过程 SHOW PROCEDURE STATUS[LIKE 'pattern'|WHERE expr]SHOW CREATE PROCEDURE 存储过程名;SELECT*FROM ...

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

JDBC

说明 当存储过程游标类型时,不同的Java版本对应的游标类型不同:Java8及以后的版本使用 Types.REF_CURSOR 类型游标。Java8之前的版本使用 Types.REF 类型游标。设置FetchSize 默认情况下,驱动会一次性从数据库端获取所有数据,对于数据...

FETCH

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

DBMS_SQL

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

概述

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

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

CREATE PROCEDURE

如果没有美元引用,过程定义中的任何单引号或者反斜线必须以双写的方式进行转义。obj_file,link_symbol 当 C 语言源码中的过程名与 SQL 过程的名称不同时,这种形式的 AS 子句被用于动态可装载的 C 语言过程。字符串 obj_file 是包含已编译...

基本对象概念

重载方法 在对象类型中,允许定义两个或多个具有相同类型(这是存储过程或函数)但具有不同特征的同名方法。此类方法称为重载方法。方法的特征由形参的数量、数据类型及其顺序组成。icmsDocProps={'productMethod':'created','language':'...

DBLink插件

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

DBLink插件

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

示例

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

存储过程

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

新建存储过程

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

ALTER PROCEDURE

options[EXTERNAL]SECURITY DEFINER 指定 SECURITY DEFINER 以指示服务器使用创建了存储过程的用户的特权执行该存储过程。为了实现兼容性而支持 EXTERNAL 关键字,但被忽略。[EXTERNAL]SECURITY INVOKER 指定 SECURITY INVOKER 以指示...

调用存储过程

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

DBMS_SESSION

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

CALL

语法 CALL procedure_name '('[argument_list]')' 说明 使用 CALL 语句调用存储过程。要使用 CALL 语句,您必须对 CALL 语句调用的存储过程具有 EXECUTE 特权。参数 参数 说明 procedure_name procedure_name 是(可能是 schema 限定的)...

概述

PolarDB MySQL版 内置了一系列存储过程,您可以使用这些存储过程获取SQL语句中未被索引覆盖的列名,同时可以获取创建列存索引的DDL语句。本文介绍了 PolarDB MySQL版 内置的存储过程以及如何使用存储过程辅助创建列存索引。简介 PolarDB ...

删除存储过程

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

DBMS_CRYPTO

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

PL 编译和调试

PL 调试 在 SQL 开发窗口的左侧导航栏>存储过程列表中,选择调试存储过程 PROC_VARCHAR2,进入调试模式。设置参数值后,单击 确定。重要 OceanBase V4.0.0 及之后的版本,调试前需要获取调试权限。示例:GRANT DEBUG CONNECT SESSION TO ...

DBMS_AQ

PolarDB 通过以下SQL命令为 DBMS_AQ 包提供扩展功能:ALTER QUEUE ALTER QUEUE TABLE CREATE QUEUE CREATE QUEUE TABLE DROP QUEUE DROP QUEUE TABLE 表 1.DBMS_AQ 函数/存储过程 函数/存储过程 返回类型 说明 ENQUEUE N/A 发布消息到队列...

创建对象类型

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

SQL使用限制

暂不支持存储过程、触发器、游标。暂不支持临时表。暂不支持BEGIN…END、LOOP…END LOOP、REPEAT…UNTIL…END REPEAT、WHILE…DO…END WHILE等复合语句。暂不支流程控制类语句(如IF或WHILE等)。暂不支持外键。小语法限制 DDL CREATE ...

验证数据压缩能力

表创建成功后,在 order 表单中,建立存储过程,并随机插入 20,000 行数据,查看租户资源的使用大小,并与 MySQL 数据库的数据进行比较。说明 由于条件限制,本教程仅 20,000 行数据为例,如您时间充裕,可尝试插入 10,000,000 数据,数据...

DROP PROCEDURE

DROP PROCEDURE 用于移除一个现有过程定义。简介 DROP PROCEDURE 移除一个现有过程定义。为了执行这个命令,用户必须是该过程的拥有者。该过程的参数类型必须指定,因为可能存在多个不同的过程具有相同名称和不同参数列表。语法 DROP ...

2022年

hll 存储过程中使用holdable cursor holdable模式可以使当前游标不被立即释放,从而实现游标跨事务操作。存储过程中使用holdable cursor varbitx插件 PolarDB PostgreSQL版(兼容Oracle)对varbit插件进行了扩展,支持更多的BIT操作,可以...

功能特性

服务器端加密 客户端加密 OSS客户端加密是在数据上传至OSS之前,由用户在本地对数据进行加密处理,确保只有密钥持有者才能解密数据,增强数据在传输和存储过程中的安全性。客户端加密 合规保留策略 OSS保留策略具有WORM(Write Once Read ...

SQL语法

CLUSTER 根据索引对磁盘上的堆存储表进行物理重新排序。不推荐使用该操作。CLUSTER indexname ON tablename CLUSTER tablename CLUSTER 更多信息,请参见 CLUSTER。COMMENT 定义或者修改对一个对象的注释。COMMENT ON { TABLE object_name|...

ALTER PROCEDURE

ALTER PROCEDURE 更改一个过程定义。简介 要使用 ALTER PROCEDURE,你必须拥有该过程。要更改一个过程的方案,你还必须有新方案上的 CREATE 特权。要更改拥有者,你还必须是新拥有角色的直接或间接成员,并且那个角色在该过程的方案上...

用户定义的异常

您可以在函数、存储过程、包或匿名块中定义异常。虽然不能在同一个块中两次声明同一个异常,但可以在两个不同的块中声明同一个异常。在实现用户定义的异常之前,必须在函数、存储过程、包或匿名块的声明部分中声明该异常。这样,即可使用 ...

概述

定义存储在MySQL数据字典中,本地集群上没有数据文件,表定义包含一个指向远程表的连接字符串。Federated表结构如下:当在本地 PolarDB MySQL版 集群的Federated表上执行SQL时,通常会从本地 PolarDB MySQL版 集群插入数据文件,更新或...

Web应用管理

应用环境定义部署过程 应用部署时,通常需要定义以下内容:停应用服务-上传安装包到服务器-解压安装包到安装目录-启动应用服务以上过程可以一次性定义在环境对应的部署脚本中,保存到如下的环境配置中,从而每一次应用升级安装时,都可以...
共有200条 < 1 2 3 4 ... 200 >
跳转至: GO
产品推荐
云服务器 安全管家服务 安全中心
这些文档可能帮助您
对象存储 云存储网关 文件存储 CPFS 混合云存储 弹性公网IP 短信服务
新人特惠 爆款特惠 最新活动 免费试用