创建存储过程

不过,具有不同输入参数类型的存储过程可共用一个名称(这称为重载)。(存储过程重载是一项 PolarDB PostgreSQL版(兼容Oracle)功能-独立存储过程的重载与 Oracle 数据库不兼容。要更新现有存储过程的定义,可使用 CREATEOR REPLACE ...

CREATE PROCEDURE

CREATE OR REPLACE PROCEDURE 将创建新的存储过程或替换现有定义。如果包括 schema 名称,则在指定的 schema 中创建存储过程。否则在当前 schema 中创建。新存储过程的名称不得与同一 schema 中具有相同输入参数类型的任何现有存储过程匹配...

ROLLBACK

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

COMMIT

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

ALTER PROCEDURE

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

CALL

要使用 CALL 语句,您必须对 CALL 语句调用的存储过程具有 EXECUTE 特权。参数 参数 说明 procedure_name procedure_name 是(可能是 schema 限定存储过程名称。argument_list argument_list 指定存储过程所需参数的列表,以逗号分隔。...

调用存储过程

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

匿名块

块通常作为存储过程、函数、子程序或触发器的一部分编写。存储过程、函数和触发器程序被命名并存储在数据库中以供重新使用。...以下各节讨论如何创建可以存储在数据库中并被另一个存储过程、函数或应用程序反复调用的存储过程或函数。

概述

示例 下面是一个采用参数的存储过程的示例:CREATE OR REPLACE PROCEDURE emp_query(p_deptno IN NUMBER,p_empno IN OUT NUMBER,p_ename IN OUT VARCHAR2,p_job OUT VARCHAR2,p_hiredate OUT DATE,p_sal OUT NUMBER)IS BEGIN SELECT empno,...

DROP PROCEDURE

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

位置与命名参数表示法

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

RETURN 语句

第一种形式的 RETURN 语句用于终止返回 void 的存储过程或函数。语法为:RETURN;第二种形式的 RETURN 将值返回给调用者。语法为:RETURN expression;expression 必须计算为与函数的返回类型相同的数据类型。以下示例使用 RETURN 语句将值...

创建子存储过程

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

CREATE PACKAGE

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

RAISE_APPLICATION_ERROR

利用 RAISE_APPLICATION_ERROR 存储过程,开发者可通过导致异常,有意中止从中调用该存储过程的 SPL 程序中的处理。异常的处理方式与 异常处理 中描述的相同。此外,RAISE_APPLICATION_ERROR 存储过程还会向程序提供用户定义的代码和错误...

DBMS_RANDOM

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

块关系

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

DBMS_OUTPUT

ENABLE Procedure 该存储过程用于允许PUT、PUT_LINE、NEW_LINE和GET_LINE存储过程的调用。语法 DBMS_OUTPUT.ENABLE(buffer_size IN INTEGER DEFAULT 20000);参数说明 参数 说明 buffer_size(可选参数)消息缓冲区的最大长度。以字节为单位...

限定符

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

错误处理

400 FilePartStale 文件分片过时 400 InvalidArgument 参数格式错误 400 InvalidAccessKeyId AccessKey ID不存在 403 InvalidBucketName 无效的存储空间名称 400 InvalidDigest 无效的摘要 400 InvalidObjectName 无效的文件名称 400 ...

DBMS_SESSION

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

CREATE TYPE BODY

proc_name 要创建的存储过程的名称。SELF[IN|IN OUT]name 对于成员方法,存在一个名为 SELF 的隐式内置参数,其数据类型就是正在定义的对象类型的数据类型。SELF 引用当前正在调用方法的对象实例。SELF 可以在参数列表中显式声明为 IN 或 ...

INSERT

以下是使用从调用程序传递的数据插入新员工的存储过程的示例。CREATE OR REPLACE PROCEDURE emp_insert(p_empno IN emp.empno%TYPE,p_ename IN emp.ename%TYPE,p_job IN emp.job%TYPE,p_mgr IN emp.mgr%TYPE,p_hiredate IN emp.hiredate%...

DBMS_APPLICATION_INFO

参数 参数 描述 client_info 当前会话提供给SET_CLIENT_INFO存储过程的最后一个客户信息。READ_MODULE 语法 DBMS_APPLICATION_INFO.READ_MODULE(module_name OUT VARCHAR2,action_name OUT VARCHAR2);参数 参数 描述 module_name 当前会话...

pg_language

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

赋值

以下示例显示存储过程的可执行部分中的赋值语句的典型使用。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...

将%ROWTYPE 与游标结合使用

以下是此存储过程的输出。EXEC emp_info;SMITH works in department 20 ALLEN works in department 30 WARD works in department 30 JONES works in department 20 MARTIN works in department 30 BLAKE works in department 30 CLARK ...

高度兼容性

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

功能特性

数据库文件存储 功能集 功能 功能描述 参考文档 DBFS特性 原子写 支持DIRECT IO的原子写,需按4K,8K,16K对齐-共享读写 一份数据可共享式多点挂载并进行读写,读写可线性扩展-存储加密 通过对数据库文件存储实施加密,可以确保数据库文件...

概述

场景一:PolarDB PostgreSQL版(兼容Oracle)到ECS自建PostgreSQL的DBLink 客户原来使用的是ECS自建PostgreSQL数据库,在迁移至 PolarDB PostgreSQL版(兼容Oracle)的过程中,由于部分原因,先迁移了一部分业务系统上 PolarDB PostgreSQL...

DBMS_CRYPTO

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

内置的安全审计规则

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

自建Oracle迁移至阿里云消息队列Kafka版

目标 阿里云消息队列Kafka版 的存储空间须大于源数据库自建Oracle占用的存储空间。目标 阿里云消息队列Kafka版 中已创建用于接收迁移数据的Topic,详情请参见 步骤一:创建Topic。建议在执行数据迁移前了解源库为Oracle时DTS支持的能力和...

DBMS_PROFILER

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

OGG for Big Data

下面将介绍Oracle/OGG相关安装和配置过程Oracle的安装将不做介绍,另外需要注意的是:Oracle/OGG相关参数配置以熟悉Oracle/OGG的运维人员配置为准,本示例只是提供一个可运行的样本。OGG 源端配置 本文以Oracle11g为例,给出一个可用示例...

OGG Adapters

V12.2.X均可以使用)JDK1.8 二、安装步骤(下面将介绍Oracle/OGG相关安装和配置过程Oracle的安装将不做介绍,另外需要注意的是:Oracle/OGG相关参数配置以熟悉Oracle/OGG的运维人员配置为准,本示例只是提供一个可运行的样本)相关安装包...

ROLLBACK

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

存储过程

存储过程与函数的区别 AnalyticDB PostgreSQL 6.0版 的函数(Function)可以实现大部分的存储过程功能,通常建议您使用函数来实现存储过程业务,但是存储过程仍然是许多 AnalyticDB PostgreSQL版 用户、及PostgreSQL从业者们期待已久的功能...

银泰商业

例如存储过程,当Oracle转MySQL上云时,需要投入了大量的研发精力将Oracle的存储过程转化成Java代码。使用 PolarDB PostgreSQL版(兼容Oracle)后,存储过程可以通过ADAM(Advanced Database&Application Migration)的工具,较快地完成...

概述

SPL 是一种高效的过程式编程语言,用于为 PolarDB PostgreSQL版(兼容Oracle)编写自定义存储过程、函数、触发器和包。SPL提供如下特性:完整的过程编程功能,以补充 SQL 语言。一种通用语言,用于为 PolarDB PostgreSQL版(兼容Oracle)...
共有200条 < 1 2 3 4 ... 200 >
跳转至: GO
产品推荐
云服务器 安全管家服务 安全中心
这些文档可能帮助您
对象存储 文件存储 CPFS 混合云存储 弹性公网IP 短信服务 人工智能平台 PAI
新人特惠 爆款特惠 最新活动 免费试用