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

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。同辈块是具有同一父块的一组块...

DBMS_ALERT

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

限定符

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

声明变量

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

概述

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

概述

本章介绍 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_...

用户定义的异常

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

SECURITY LABEL

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

DBMS_RANDOM

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

新建函数

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

GRANT on Database Objects

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

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仍然使用这...

赋值

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

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

关闭游标变量

与静态游标不同,游标变量不必在再次重新打开之前关闭。之前打开的结果集将丢失。通过添加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 ...

PRAGMA EXCEPTION_INIT

以下存储过程(purchase)调用check_balance存储过程。如果p_amount大于p_balance,则check_balance会引发异常;purchase会捕获ar.overdrawn异常。CREATE PROCEDURE purchase(customerID int,amount NUMERIC)AS BEGIN ar.check_balance...

DBMS_APPLICATION_INFO

当此操作终止时,如果存在其他操作,则使用下一个操作调用当前存储过程。否则,调用NULL。说明 操作名称长度超过64个字节将被截断。SET_CLIENT_INFO 语法 DBMS_APPLICATION_INFO.SET_CLIENT_INFO(client_info IN VARCHAR2);参数 参数 说明 ...

COMMIT

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

使用前置声明

前置声明是子存储过程或子函数名称、形参和子函数的规格;如果是子函数,则返回类型。完整子程序规格(由可选声明部分、可执行部分和可选异常部分组成)必须与前置声明在同一声明部分中指定,但可出现在用前置声明调用此子程序的其他子程序...

创建子函数

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

UPDATE

以下显示使用此存储过程更新员工。EXEC emp_comp_update(9503,6540,1200);Updated Employee#:9503 New Salary:6540 New Commission:1200 SELECT*FROM emp WHERE empno=9503;empno|ename|job|mgr|hiredate|sal|comm|deptno-+-+-+-+-+-+-+-...

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

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

包规格

列的类型通过编写 tablename.columnname%TYPE 来引用,使用此格式有时候能够帮助存储过程独立于表定义的变化。DEFAULT value 如果调用中未提供输入参数,则 DEFAULT 子句为输入参数提供默认值。不能为具有模式 IN OUT 或 OUT 的参数指定 ...

删除存储过程

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

CREATE LANGUAGE

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

DBMS_SESSION

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

创建表

本文介绍如何在DLA中创建Oracle 表。登录 DLA控制台。单击左侧导航栏的 SQL访问点,然后单击 登录DMS,在DLA中创建如下表所示的Oracle表。eate external table person(id int,name varchar(1023),age int)tblproperties(table_mapping='...

同步更新Oracle数据库(oracle_fdw)

RDS PostgreSQL提供oracle_fdw插件,可以连接到Oracle数据库,通过操作PostgreSQL表同步更新Oracle数据库中的表。前提条件 实例为RDS PostgreSQL 12(内核版本20200421及以上)。说明 您可以执行 SHOW rds_supported_extensions;查看是否...
共有200条 < 1 2 3 4 ... 200 >
跳转至: GO
产品推荐
云服务器 安全管家服务 安全中心
这些文档可能帮助您
对象存储 文件存储 CPFS 商标服务 弹性公网IP 短信服务 人工智能平台 PAI
新人特惠 爆款特惠 最新活动 免费试用