REF CURSOR 概述

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

创建子存储过程

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

CREATE PACKAGE

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

引用对象

下面是此匿名块的输出:Employee No:9001 Name:JONES Street:123 MAIN STREET City/State/Zip:EDISON,NJ 08817 以下匿名块创建 dept_obj_typ 的实例并调用成员存储过程 display_dept:DECLARE v_dept DEPT_OBJ_TYP:=dept_obj_typ(20);...

RAISE_APPLICATION_ERROR

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

术语

本文介绍 PolarDB PostgreSQL版(兼容Oracle)使用过程中遇到的术语。名词 描述 地域(Region)数据中心所在的地理位置。可用区(Zone)可用区是指在某一地域内,具有独立电力和网络的物理区域。同一可用区内实例之间的网络延时更小。集群...

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

DBMS_OUTPUT

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

块关系

例如,给定一个独立的存储过程,则在此存储过程的声明部分中声明的子程序全都位于同一层级,例如在层级 1 调用该存储过程。该独立存储过程中声明的子程序的声明部分中的其他子程序位于下一层级,即层级 2。同辈块是具有同一父块的一组块...

产品介绍

PolarDB PostgreSQL版(兼容Oracle)高度兼容Oracle语法,包括Oracle数据库用户常用的内置数据类型、内置存储过程语法、常用系统视图,重要特性DBLINK、分区表和分区索引等特性,配合ADAM智能评估工具助力企业智能存量Oracle数据库业务迁移...

DBMS_ALERT

SIGNAL Procedure 该存储过程用于产生一条指定名称的告警 语法 DBMS_ALERT.SIGNAL(event IN VARCHAR2,message IN VARCHAR2);参数说明 参数 说明 event 发送消息的告警的名称。message 告警的具体消息。示例 该示例展示了如何发送一个告警...

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

本文介绍如何使用数据传输服务DTS(Data Transmission Service),将自建Oracle迁移至阿里云消息队列Kafka。前提条件 已创建源数据库自建Oracle和目标实例 阿里云消息队列Kafka版。说明 源数据库和目标实例支持的版本,请参见 迁移方案概览...

限定符

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

声明变量

例如,将 SYSDATE 分配给 DATE 类型的变量会使该变量具有当前调用的时间,而不是预编译存储过程或函数时的时间。以下存储过程说明一些变量声明,它们使用包括字符串和数值表达式的默认值。CREATE OR REPLACE PROCEDURE dept_salary_rpt(p_...

调用子程序

通过指定子程序的名称和任何实参,调用子程序,这与调用独立存储过程或函数的方式相同。可以使用一个或多个限定符来调用子程序,也可以不使用限定符来调用子程序,这些限定符是父级子程序的名称或带标记的匿名块,这些块构成了从中声明子...

显式锁定

同样,大多数本数据库命令会自动要求恰当的以保证被引用的表在命令的执行过程中不会以一种不兼容的方式删除或修改(例如,TRUNCATE 无法安全地与同一表中上的其他操作并发地执行,因此它在表上获得一个排他来强制这种行为)。...

概述

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

用户定义的 PL/SQL 子类型

您可以在PL函数、存储过程、匿名块或包的声明中定义子类型。语法如下:SUBTYPE subtype_name IS type_name[(constraint)][NOT NULL]其中constraint为:{precision[,scale]}|length 其中:subtype_name:subtype_name指定子类型的名称。type...

概述

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

参数模式

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

ALL_SOURCE

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

DBMS_SESSION

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

支持的数据库引擎与功能

PolarDB MySQL版 PolarDB PostgreSQL版(兼容Oracle)PolarDB分布式版 表、索引、视图、触发器、存储过程、角色、约束、用户定义函数、用户定义表类型。SQL Server 表、索引、视图、触发器、存储过程、用户、角色、约束、用户定义函数、...

用户定义的异常

以下存储过程(purchase)调用 check_balance 存储过程。如果 p_amount 大于 p_balance,则 check_balance 会引发异常;purchase 会捕获 ar.overdrawn 异常。purchase 必须使用包限定名称(ar.overdrawn)来引用异常,因为 purchase 未在 ar 包...

CREATE SYNONYM

PolarDB PostgreSQL版(兼容Oracle)支持以下对象的同义词:表 视图 具体化视图 序列 存储过程 存储函数 类型 可通过database link访问的对象 其他同义词 参数 参数 说明 syn_name syn_name是同义词的名称。同义词名称在schema中必须是唯一...

SECURITY LABEL

表、聚集、域、外部表、函数、存储过程、例程、序列、类型和视图的名称可以是模式限定的。provider 这个标签相关联的提供者的名称。所提到的提供者必须已被载入并且必须赞同所提出的标签操作。如果正好只载入了一个提供者,可以出于简洁的...

账号权限列表

CREATE PROCEDURE 为用户创建任意存储过程的权限。CREATE SYNONYM 为用户创建同义词的权限。CREATE SEQUENCE 为用户创建序列的权限。CREATE TRIGGER 为用户创建触发器的权限。CREATE TYPE 创建类型的权限。CREATE SESSION 创建会话的权限。...

DBMS_RANDOM

INITIALIZE Procedure 该存储过程 使用指定的种子初始化DBMS_RANDOM包。语法 DBMS_RANDOM.INITIALIZE(val IN INTEGER);参数说明 参数 说明 val 用于生成随机数的指定种子值。示例 该示例展示了如何用指定的数字初始化DBMS_RANDOM的种子值。...

2022年

存储过程中使用holdable cursor varbitx插件 PolarDB PostgreSQL版(兼容Oracle)对varbit插件进行了扩展,支持更多的BIT操作,可以覆盖更多应用场景。varbitx ZomboDB插件 ZomboDB是一个PostgreSQL扩展插件,支持原生的访问方式,为...

CREATE TYPE BODY

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

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 当前会话...

创建包规格

包规格包含可从包外部引用的包中所有元素的定义。这些定义称为包的公共元素,用作包接口。以下代码示例是包规格:Package ...此包规格由两个函数和两个存储过程组成。为方便起见,我们还可以添加 OR REPLACE 子句到 CREATE PACKAGE 语句。

pg_language

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

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

赋值

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

关闭游标变量

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

关闭游标

从游标结果集中检索到所有需要的行后,必须关闭游标。关闭后,将无法再访问结果集。...调用此存储过程时会生成以下输出。员工编号 7369,SMITH 是结果集的第一行。EXEC cursor_example;Employee Number:7369 Employee Name:SMITH

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

CREATE PACKAGE BODY

proc_name 公共存储过程或私有存储过程的名称。如果包规格中存在具有相同签名的 proc_name,则它为公共,否则为私有。argname 参数的名称。IN|IN OUT|OUT 参数模式。argtype 程序的参数的数据类型。DEFAULT value 输入参数的默认值。STRICT...
共有200条 < 1 2 3 4 ... 200 >
跳转至: GO
产品推荐
云服务器 安全管家服务 安全中心
这些文档可能帮助您
对象存储 文件存储NAS 商标服务 弹性公网IP 短信服务 人工智能平台 PAI
新人特惠 爆款特惠 最新活动 免费试用