RAISE_APPLICATION_ERROR

其中:error_number 是一个整数值或表达式,当执行存储过程时在名为 SQLCODE 的变量中返回。error_number 必须是介于-20000 和-20999 之间的值。message 是一个字符串文本或表达式,在名为 SQLERRM 的变量中返回。以下示例使用 RAISE_...

高度兼容性

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

概述

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

位置与命名参数表示法

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

关闭游标变量

与静态游标不同,游标变量不必在再次重新打开之前关闭。之前打开的结果集将丢失。通过添加CLOSE语句完善该示例。...以下是执行存储过程时的输出。EXEC emp_by_dept(20)EMPNO ENAME-7369 SMITH 7566 JONES 7788 SCOTT 7876 ADAMS 7902 FORD

CALL

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

存储过程

若此时正在执行存储过程中的SQL,则会显示正在执行的SQL,否则会显示 execute pl logic。取消正在执行的存储过程 kill {query|connection} connection_id;存储过程缓存管理 存储过程的所有元信息,即是否存在某存储过程,始终会存在于缓存...

银泰商业

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

概述

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

赋值

以下示例显示存储过程的可执行部分中的赋值语句的典型使用。CREATE OR REPLACE PROCEDURE dept_salary_rpt(p_deptno NUMBER)IS todays_date DATE;rpt_title VARCHAR2(60);base_sal INTEGER;base_comm_rate NUMBER;base_annual NUMBER;BEGIN...

参数中使用默认值

以下简单存储过程演示了如何使用分配运算符将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)...

删除存储过程

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

使用pldebugger插件

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

SECURITY LABEL

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

不兼容点概述

本文为您介绍迁移 Oracle 数据库的数据至 OceanBase 数据库 Oracle 租户时,Oracle 执行的 DDL 支持被数据传输的 DDL 同步组件转换,但 OceanBase 数据库 Oracle 租户不支持执行的场景。版本说明 Oracle 数据库:19c 版本。OceanBase 数据...

DROP PROCEDURE

argtype 存储过程参数的数据类型。(指定 argtype 与 Oracle 数据库不兼容,它仅适用于 PolarDB PostgreSQL版(兼容Oracle)。CASCADE 自动删除依赖于存储过程的对象,并就此删除依赖于这些对象的所有对象。RESTRICT 如果存在依赖于过程的...

COMMENT

argmode 一个函数,存储过程或者聚集函数的参数的模式:IN、OUT、INOUT 或者 VARIADIC。如果被省略,默认值是 IN。注意 COMMENT 并不真正关心 OUT 参数,因为决定函数的身份只需要输入参数。因此列出 IN、INOUT 和 VARIADIC 参数就足够了。...

COMMIT

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

新建存储过程

调用存储过程时将参数的值传入存储过程供执行存储过程时使用。IN 类型参数一般只用于传入,在调用存储过程中一般不作修改和返回。OUT 输出参数。调用存储过程时,存储过程会忽略输出参数本身的值并传入一个空值,执行结束后,输出参数会被...

DBMS_SESSION

语法 该存储过程使用了自定义类型作为参数,该类型的语法和存储过程的语法如下:TYPE AppCtxRecTyp IS RECORD(namespace VARCHAR2(30),attribute VARCHAR2(30),value VARCHAR2(256));TYPE AppCtxTabTyp IS TABLE OF AppCtxRecTyp;DBMS_...

概述

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

ROLLBACK

ROLLBACK 命令撤消当前事务期间执行的所有数据库更新,并结束当前事务。ROLLBACK[WORK];ROLLBACK 命令可在匿名块、存储...说明 如果运行时堆栈上存在 Oracle 样式的 SPL 过程,则在 PLPGSQL 存储过程执行 COMMIT 或 ROLLBACK 将会引发错误。

ALTER PROCEDURE

参数 参数 说明 procedure_name procedure_name 指定存储过程(可能是 schema 限定的)名称。options[EXTERNAL]SECURITY DEFINER 指定 SECURITY DEFINER 以指示服务器使用创建了存储过程的用户的特权执行存储过程。为了实现兼容性而支持 ...

数据类型转换

也可以存储浮点数,此时 NUMBER 没有 p 和 s 参数Oracle 数据库:p 的取值范围为 1~38,s 的取值范围为-84~127。NCHAR(size)NCHAR(size)参数 size 的取值范围为[1,2000],默认值和最小值为 1。存储大小为 size 字节的两倍。CHAR(size...

调用存储过程

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

创建存储过程

如果指定 AUTHID CURRENT_USER,则将使用执行存储过程的当前用户的权限来确定访问特权。PARALLEL { UNSAFE|RESTRICTED|SAFE } 通过 PARALLEL 子句可以使用并行顺序扫描(并行模式)。在查询期间,相比串行顺序扫描,并行顺序扫描使用多个...

用法限制

允许的游标变量参数模式 操作 IN IN OUT OUT OPEN 否 是 否 FETCH 是 是 否 CLOSE 是 是 否 例如,如果一个存储过程对声明为存储过程形参的游标变量执行所有这三项操作OPEN FOR、FETCH和CLOSE,则必须使用IN OUT模式声明该参数

管理存储过程

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

CALL

简介 CALL 命令可用于执行一个过程。如果过程有任何输出参数,则会返回一个结果行,返回这些参数的值。语法 CALL name([argument][,.])参数说明 name:过程的名称(可以被方案限定)。argument:过程调用的一个输入参数。说明 用户必须有...

CREATE PROCEDURE

如果指定 AUTHID CURRENT_USER,则将使用执行存储过程的当前用户的权限来确定访问特权。PARALLEL { UNSAFE|RESTRICTED|SAFE } 通过 PARALLEL 子句可以使用并行顺序扫描(并行模式)。在查询期间,相比串行顺序扫描,并行顺序扫描使用多个...

GOTO 语句

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

使用场景

查询可能在执行过程中被暂停。只要在系统认为可能发生部分或者增量式执行,就不会产生并行计划。例如:用 DECLARE CURSOR 创建的游标将永远不会使用并行计划。类似地,一个 FOR x IN query LOOP.END LOOP 形式的 PL/pgSQL 循环也永远不会...

CREATE PACKAGE

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

概述

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

pg_settings

pg_settings 视图提供了对服务器上运行时参数的访问。简介 pg_settings 视图提供了对服务器上运行时参数的访问。它本质上是SHOW和SET命令的可替换接口。它还提供了 SHOW 不能提供的关于每一个参数的一些显示,例如,最大值和最小值。列名称...

pg_settings

pg_settings 视图提供了对服务器上运行时参数的访问。简介 pg_settings 本质上是 SHOW 和 SET 命令的可替换接口。它还提供了 SHOW 不能提供的关于每一个参数的一些信息,例如,最大值和最小值。pg_settings 视图包含以下列信息:列名称 ...

概述

子程序是指子存储过程或子函数,它们在外观上与存储过程和函数几乎完全相同,但不同之处在于存储过程和函数是独立程序,它们单独存储在数据库中,并可通过其他SPL程序或从PSQL调用。子程序只能从创建它们的独立程序中调用。

DBMS_LOCK

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

ROLLBACK

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

CREATE TYPE BODY

如果未明确声明 SELF,则其参数模式默认为 IN OUT(对于成员存储过程)和 IN(对于成员函数)。argname 参数的名称。参数在方法主体中通过该名称进行引用。argtype 方法参数的数据类型。参数类型可以是基本数据类型或用户定义类型,如嵌套...
共有200条 < 1 2 3 4 ... 200 >
跳转至: GO
产品推荐
云服务器 安全管家服务 安全中心
这些文档可能帮助您
云存储网关 文件存储 CPFS 对象存储 弹性公网IP 短信服务 人工智能平台 PAI
新人特惠 爆款特惠 最新活动 免费试用