高度兼容性

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

DBMS_AQADM

您可以使用 DBMS_AQADM 包中的存储过程创建并管理消息队列和队列表。表 1.DBMS_AQADM函数/存储过程 函数/存储过程 返回类型 说明 ALTER_QUEUE N/A 修改现有的队列。ALTER_QUEUE_TABLE N/A 修改现有的队列表。CREATE_QUEUE N/A 创建队列。...

PL 编译和调试

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

关联数组

以下是此匿名块的输出:ERROR:At present,only associative array without package and IS TABLE OF type is not record type support multidimensional subscripts search and assignment CONTEXT:compilation of SPL function"inline_...

银泰商业

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

使用 MULTISET UNION 运算符

请注意,在以下示例中,MULTISET UNION DISTINCT运算符还会删除存储在同一集合中的重复条目:DECLARE TYPE int_arr_typ IS TABLE OF NUMBER(2);collection_1 int_arr_typ;collection_2 int_arr_typ;collection_3 int_arr_typ;v_results ...

DROP PROCEDURE

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

概述

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

oracle_fdw

创建外部表参数说明如下:参数 说明 是否必填 table Oracle数据库中的被映射表名,一般是大写。是 dblink 被映射表的数据库链接,必须与Oracle系统目录中的完全一致。否 schema Oracle用户名,需要大写,用于访问不属于当前连接用户的表。...

错误码表(2.0版)

18806 Illegal drop target type,only DATABASE/TABLEGROUP/TABLE/EXTERNAL CATALOG is allowed.DROP的目标数据库对象类型非法,只允许DROP DATABASE/TABLEGROUP/TABLE/EXTERNAL CATALOG。18807 Target table does not exist:目标表不存在...

错误码参考

否 400 OTSParameterInvalid Time-to-live is missing while creating table.创建表的时候没有指定TTL值。否 400 OTSParameterInvalid MaxVersions is missing while creating table.创建表的时候没有指定最大版本数。否 400 ...

DBMS_OBFUSCATION_TOOLKIT

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

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插件,可用于调试存储过程。前提条件 ...

LIMIT

TYPE nt_type IS TABLE OF INT;TYPE aarray_type IS TABLE OF INT INDEX BY PLS_INTEGER;varray v_type:=v_type();nt nt_type:=nt_type();aarray aarray_type;BEGIN RAISE NOTICE '%',varray.limit;RAISE NOTICE '%',nt.limit;RAISE NOTICE...

嵌套表

语法 TYPE type_name IS TABLE OF datatype[NULL|NOT NULL]';' 示例 以下是一个嵌套表的基本示例:DECLARE TYPE nt_type IS TABLE OF INT;声明 nested table 局部类型 nt nt_type:=nt_type();创建变量,并将它初始化为空 BEGIN nt.extend(1)...

关联数组

语法 TYPE type_name IS TABLE OF value_type[NULL|NOT NULL]INDEX BY key_type ';' 示例 以下是一个关联数组的基本示例:DECLARE TYPE aarray_type IS TABLE OF INT INDEX BY VARCHAR(10);声明 associative array 局部类型 aarray aarray_...

LAST

DECLARE TYPE sparse_arr_typ IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;sparse_arr sparse_arr_typ;BEGIN sparse_arr(-100):=-100;sparse_arr(-10):=-10;sparse_arr(0):=0;sparse_arr(10):=10;sparse_arr(100):=100;DBMS_OUTPUT.PUT_...

FIRST

DECLARE TYPE sparse_arr_typ IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;sparse_arr sparse_arr_typ;BEGIN sparse_arr(-100):=-100;sparse_arr(-10):=-10;sparse_arr(0):=0;sparse_arr(10):=10;sparse_arr(100):=100;DBMS_OUTPUT.PUT_...

COUNT

DECLARE TYPE nt_type IS TABLE OF INT;nt nt_type:=nt_type(1,2);BEGIN RAISE NOTICE '%',nt.count;nt.extend(1);在尾部扩充一个元素位置 RAISE NOTICE '%',nt.count;nt.trim(2);销毁最后两个元素位置 RAISE NOTICE '%',nt.count;nt....

COUNT

DECLARE TYPE sparse_arr_typ IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;sparse_arr sparse_arr_typ;BEGIN sparse_arr(-100):=-100;sparse_arr(-10):=-10;sparse_arr(0):=0;sparse_arr(10):=10;sparse_arr(100):=100;DBMS_OUTPUT.PUT_...

EXISTS

DECLARE TYPE nt_type IS TABLE OF NUMBER;nt nt_type:=nt_type(1,2);BEGIN nt.delete(2);RAISE NOTICE '1.%',nt.exists(1);RAISE NOTICE '2.%',nt.exists(2);RAISE NOTICE '3.%',nt.exists(3);END;结果显示如下:NOTICE:1.t NOTICE:2.f ...

PRIOR

DECLARE TYPE sparse_arr_typ IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;sparse_arr sparse_arr_typ;BEGIN sparse_arr(-100):=-100;sparse_arr(-10):=-10;sparse_arr(0):=0;sparse_arr(10):=10;sparse_arr(100):=100;DBMS_OUTPUT.PUT_...

NEXT

以下示例演示了如何使用NEXT返回关联数组sparse_arr中下标10后面的下标:DECLARE TYPE sparse_arr_typ IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;sparse_arr sparse_arr_typ;BEGIN sparse_arr(-100):=-100;sparse_arr(-10):=-10;sparse_...

EXTEND

以下示例演示如何使用EXTEND方法将单个null元素附加到集合:DECLARE TYPE sparse_arr_typ IS TABLE OF NUMBER;sparse_arr sparse_arr_typ:=sparse_arr_typ(-100,-10,0,10,100);v_results VARCHAR2(50);BEGIN DBMS_OUTPUT.PUT_LINE('COUNT:'...

EXISTS

以下示例验证关联数组中是否存在下标数字10:DECLARE TYPE sparse_arr_typ IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;sparse_arr sparse_arr_typ;BEGIN sparse_arr(-100):=-100;sparse_arr(-10):=-10;sparse_arr(0):=0;sparse_arr(10):=...

GRANT on Database Objects

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

集合变量的赋值

DECLARE TYPE aarray_type IS TABLE OF INT INDEX BY VARCHAR(10);aarray aarray_type:=NULL;赋值为 NULL BEGIN END;显示结果如下:ERROR:can not assign NULL to associative array CONTEXT:PL/SQL function inline_code_block line 4 ...

FIRST/LAST

DECLARE TYPE int_type IS TABLE OF INT INDEX BY PLS_INTEGER;TYPE char_type IS TABLE OF INT INDEX BY VARCHAR(10);arr1 int_type;arr2 char_type;BEGIN arr1(1):=1;arr1(10):=10;arr2('a'):=1;arr2('z'):=10;RAISE NOTICE 'arr1 first:...

全局集合类型

声明全局嵌套表 CREATE TYPE nt_type IS TABLE OF INT;您可以像使用局部集合类型一样,在PL/SQL中使用它们。以下是一个使用全局集合类型的示例。DECLARE v v_type:=v_type(1,2,3);BEGIN FOR i IN v.first.v.last LOOP RAISE NOTICE '%',v(i...

DELETE

以下示例演示如何使用 DELETE 方法从集合中删除带有下标 0 的元素:DECLARE TYPE sparse_arr_typ IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;sparse_arr sparse_arr_typ;v_results VARCHAR2(50);v_sub NUMBER;BEGIN sparse_arr(-100):=-...

创建子存储过程

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

删除存储过程

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

表值函数

CREATE OR REPLACE TYPE polar_strings IS TABLE OF VARCHAR2(100);创建表值函数,返回上述嵌套表类型。CREATE OR REPLACE FUNCTION get_random_str(count_in IN INTEGER)RETURN polar_strings IS item polar_strings:=polar_strings();...

PRIOR/NEXT

DECLARE TYPE aarray_type IS TABLE OF VARCHAR(10)INDEX BY VARCHAR(10);arr aarray_type;BEGIN arr('b'):='aa';arr('c'):='bb';arr('d'):='cc';RAISE NOTICE '%',arr.prior('b'),arr.prior('c'),arr.prior('f');RAISE NOTICE '%',arr....

DBMS_SESSION

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

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

COMMENT

语法 COMMENT ON { TABLE table_name|COLUMN table_name.column_name } IS 'text' 说明 COMMENT 存储有关数据库对象的注释。要修改注释,请为同一个对象发布新的 COMMENT 命令。只能为每个对象存储一个注释字符串。要删除注释,请为 text ...
共有200条 < 1 2 3 4 ... 200 >
跳转至: GO
产品推荐
云服务器 安全管家服务 安全中心
这些文档可能帮助您
云存储网关 文件存储 CPFS 对象存储 弹性公网IP 短信服务 人工智能平台 PAI
新人特惠 爆款特惠 最新活动 免费试用