概述

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

概述

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

参数模式

形参的以下特点取决于其模式:调用存储过程函数时的初始值。被调用存储过程函数是否可修改形参。实参值如何从调用程序传递到被调用程序。当被调用程序中发生未处理的异常时,形参值会发生什么。以下内容根据其模式总结了参数的行为。IN...

位置与命名参数表示法

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

COMMIT

COMMIT 命令可在匿名块、存储过程函数中使用。在 SPL 程序内,它可出现在可执行部分和/或异常部分中。在以下示例中,匿名块中的第三个 INSERT 命令导致错误。前两个 INSERT 命令的效果将保留,如第一个 SELECT 命令的输出所示。即使在...

用户定义的异常

在实现用户定义的异常之前,必须在函数存储过程、包或匿名块的声明部分中声明该异常。这样,即可使用 RAISE 语句引发该异常:DECLARE exception_name EXCEPTION;BEGIN.RAISE exception_name;END;exception_name 是该异常的名称。未处理的...

DBMS_OBFUSCATION_TOOLKIT

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

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

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

高度兼容性

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

PL 编译和调试

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

DBMS_LOCK

表 1.DBMS_LOCK 函数/存储过程 函数/存储过程 返回类型 描述 SLEEP(seconds)N/A 暂停当前会话,暂停时长为您指定的秒数。SLEEP SLEEP存储过程用于暂停当前会话,暂停时长为您指定的秒数。SLEEP(seconds NUMBER)表 2.参数说明 参数名称 描述...

概述

可以使用SPL创建四种不同类型的程序,即存储过程函数、触发器和包。此外,SPL还用于创建子程序。子程序是指子存储过程或子函数,它们在外观上与存储过程和函数几乎完全相同,但不同之处在于存储过程和函数是独立程序,它们单独存储在数据...

匿名块

块通常作为存储过程函数、子程序或触发器的一部分编写。存储过程函数和触发器程序被命名并存储在数据库中以供重新使用。对于快速(一次性)执行(例如测试),您只需输入块而无需提供名称或将其存储在数据库中。此类型的块称为匿名块。...

dblink_ora 函数存储过程

dblink_ora 支持以下函数存储过程。dblink_ora_connect()dblink_ora_connect()函数使用用户指定的连接信息与 Oracle 数据库建立连接。该函数采用两种形式;第一种形式的特征如下:dblink_ora_connect(conn_name,server_name,service_name...

DBMS_PROFILER

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

用法限制

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

REF CURSOR 概述

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

引用对象

在创建并初始化对象变量后,将使用以下形式的点表示法调用成员存储过程函数:object.prog_name object 是分配给对象变量的标识符。prog_name 是存储过程函数的标识符。静态存储过程函数不使用对象变量进行调用。而是,此类存储过程或...

概述

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

DBMS_RANDOM

表 1.DBMS_RANDOM 函数/存储过程 函数/存储过程 返回类型 描述 INITIALIZE(val)N/A 使用指定的种子值初始化 DBMS_RANDOM 随机包。已弃用,但支持向后兼容。NORMAL()NUMBER 返回一个NUMBER类型的随机数。RANDOM INTEGER 返回的是一个INTEGER...

RETURN 语句

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

新建函数

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

在参数中使用默认值

例如,将SYSDATE分配给DATE类型的参数会导致参数具有当前调用的时间,而不是创建存储过程函数的时间。以下简单存储过程演示了如何使用分配运算符将SYSDATE的默认值设置到参数hiredate中:CREATE OR REPLACE PROCEDURE hire_emp(p_empno ...

限定符

限定条件的一些示例如下:由其所属 schema 限定的存储过程函数名称,例如,schema_name.procedure_name(.)。由其所属 schema 限定的触发器名称,例如,schema_name.trigger_name。由其所属表限定的列名称,例如,emp.empno。由其所属 ...

GOTO 语句

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

创建子存储过程

块是独立存储过程函数、匿名块、子程序、触发器、包和对象类型方法的结构。短语 标识符是块本地的 意味着标识符(例如变量、游标、类型或子程序)在该块的声明部分中声明,因此可由 SPL 代码在该块的可执行部分和可选异常部分中进行访问...

块关系

块实现独立的存储过程函数程序、匿名块、触发器、包、子存储过程和子函数。标识符(变量、游标、类型或子程序)是块本地的,意味着它在给定块的声明部分中声明。此类本地标识符可从块的可执行部分和可选的异常部分访问。父块包含另一个块...

SECURITY LABEL

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

ROLLBACK

ROLLBACK 命令可在匿名块、存储过程函数中使用。在 SPL 程序内,它可出现在可执行部分和/或异常部分中。在以下示例中,异常部分包含 ROLLBACK 命令。即使前两个 INSERT 命令成功执行,第三个命令也会因匿名块中所有 INSERT 命令的回滚而...

UTL_URL

表 1.HTTP函数和存储过程 函数/存储过程 返回类型 说明 ESCAPE(url,escape reserved chars,url_charset)VARCHAR2 使用 ESCAPE 函数转换URL中的非法字符和保留字符。UNESCAPE(url,url charset)VARCHAR2 UNESCAPE 函数将URL转换为其原始形式...

GRANT on Database Objects

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

概述

本章介绍 PolarDB 提供的内置包及其使用...对于一些特殊的内置包,非超级用户在使用这些包中的函数存储过程前,必须被授予执行权限。对于大多数内置包,默认情况下,可以直接将执行权限授予public组。关于授权的详细信息请参见 GRANT 命令。

创建子函数

块是独立存储过程函数、匿名块、子程序、触发器、包和对象类型方法的结构。短语 标识符是块本地的 意味着标识符(即,变量、游标、类型或子程序)在该块的声明部分中声明,因此可由 SPL 代码在该块的可执行部分和可选异常部分中进行访问...

ALL_SOURCE

ALL_SOURCE 视图提供以下程序类型的源代码列表:函数存储过程、触发器、包规格和包正文。名称 类型 说明 owner TEXT 程序所有者的用户名。schema_name TEXT 程序所属 schema 的名称。name TEXT 程序的名称。type TEXT 程序的类型,可能值...

pg_language

目录 pg_language 注册了可用于编写函数存储过程的语言。列名称 列类型 描述 oid oid 行标识符。lanname name 语言的名字。lanowner oid 语言的拥有者。lanispl bool 内部语言为假(如SQL),用户定义语言为真。当前,pg_dump仍然使用这...

创建对象类型

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

CREATE TYPE BODY

如果未明确声明 SELF,则其参数模式默认为 IN OUT(对于成员存储过程)和 IN(对于成员函数)。argname 参数的名称。参数在方法主体中通过该名称进行引用。argtype 方法参数的数据类型。参数类型可以是基本数据类型或用户定义类型,如嵌套...

CREATE LANGUAGE

接着,可以用这种新语言定义函数存储过程。CREATE LANGUAGE 实际上把该语言名称与负责执行用该语言编写的函数的处理器函数关联在一起。CREATE OR REPLACE LANGUAGE 将创建或者替换一种现有的定义。如果该语言已经存在,其参数会被根据...

DBMS_CRYPTO

DBMS_CRYPTO函数/存储过程 函数/存储过程 返回类型 描述 DECRYPT(src,typ,key,iv)RAW 解密RAW类型的数据。DECRYPT(dst INOUT,src,typ,key,iv)N/A 解密BLOB类型的数据。DECRYPT(dst INOUT,src,typ,key,iv)N/A 解密CLOB类型的数据。ENCRYPT...

CREATE PACKAGE

示例 包规格 empinfo 包含三个公共组件:公共变量、公共存储过程和公共函数。CREATE OR REPLACE PACKAGE empinfo IS emp_name VARCHAR2(10);PROCEDURE get_name(p_empno NUMBER);FUNCTION display_counter RETURN INTEGER;END;
共有200条 < 1 2 3 4 ... 200 >
跳转至: GO
产品推荐
云服务器 安全管家服务 安全中心
这些文档可能帮助您
对象存储 文件存储 CPFS 函数计算(旧版) 弹性公网IP 短信服务 人工智能平台 PAI
新人特惠 爆款特惠 最新活动 免费试用