位置与命名参数表示法

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

GOTO 语句

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

引用对象

下面是此匿名块的输出: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);...

新建函数

自定义函数与存储过程的区别:函数有且仅有一个返回,适合做处理数据后返回一个结果;存储过程可有 0 个或多个返回,适合做批量插入、批量更新。可以直接通过 SELECT 语句调用函数,而存储过程的调用需要使用 CALL 语句。如上图所示,创建...

块关系

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

限定符

限定条件的一些示例如下:由其所属 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 命令。

ALL_SOURCE

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

GRANT on Database Objects

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

用户定义的异常

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

SECURITY LABEL

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

支持的数据库引擎与功能

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

存储过程中使用holdable cursor

背景信息 在存储过程中使用动态游标时,PostgreSQL原生不支持将动态游标设置为holdable模式(非存储过程中支持),如果在存储过程中打开一个动态游标并执行事务修改保存操作后,再次尝试获取数据将会报错,因为进行事务保存操作时当前事务...

存储过程中使用holdable cursor

背景信息 在存储过程中使用动态游标时,PostgreSQL原生不支持将动态游标设置为holdable模式(非存储过程中支持),如果在存储过程中打开一个动态游标并执行事务修改保存操作后,再次尝试获取数据将会报错,因为进行事务保存操作时当前事务...

创建包规格

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

pg_language

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

DBMS_RLS

表 1.DBMS RLS 函数/存储过程 函数/存储过程 类型 返回类型 说明 ADD POLICY(object schema,object name,policy name,function schema,policy function[,statement types[,update check[,enable[,static policy[,policy type[,long ...

赋值

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

CREATE PACKAGE BODY

proc_name 公共存储过程或私有存储过程的名称。如果包规格中存在具有相同签名的 proc_name,则它为公共,否则为私有。argname 参数的名称。IN|IN OUT|OUT 参数模式。argtype 程序的参数的数据类型。DEFAULT value 输入参数的默认值。STRICT...

dblink_ora 函数和存储过程

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

管理存储过程

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

DBMS_LOB

表 1.DBMS_LOB函数/存储过程 函数/存储过程 类型 返回类型 描述 APPEND(dest_lob IN OUT,src_lob)存储过程 N/A 将一个大对象附加在另外一个大对象上。COMPARE(lob_1,lob_2[,amount[,offset_1[,offset_2]]])函数 INTEGER 在给定的长度和偏移...

错误处理

getOTSErrorCode():表格存储返回的错误类型字符串。常见错误请参见 错误码参考。getOTSErrorMessage():表格存储返回的错误详细描述。getRequestId():用于唯一标识此次请求的UUID。当您无法解决问题时,记录此RequestId并 提交工单。

REF CURSOR 概述

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

EXECUTE 特权

SPL 程序(函数、存储过程或包)仅在满足以下任何条件时才开始执行:已向当前用户授予对 SPL 程序的 EXECUTE 特权。由于是对 SPL 程序具有 EXECUTE 特权的组的成员,当前用户继承此类特权。已向 PUBLIC 组授予 EXECUTE 特权。在 PolarDB ...

删除存储过程

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

错误处理

ErrorCode:表格存储返回的错误类型字符串。ErrorMessage:表格存储返回的错误消息字符串。RequestId:用于唯一标识该次请求的 UUID。当您无法解决问题时,可以凭这个 RequestId 来请求表格存储开发工程师的帮助。重试 SDK 中出现错误时会...

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

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

COMMIT

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

DBMS_AQ

PolarDB 通过以下SQL命令为 DBMS_AQ 包提供扩展功能:ALTER QUEUE ALTER QUEUE TABLE CREATE QUEUE CREATE QUEUE TABLE DROP QUEUE DROP QUEUE TABLE 表 1.DBMS_AQ 函数/存储过程 函数/存储过程 返回类型 说明 ENQUEUE N/A 发布消息到队列...

错误处理

get_error_code:表格存储返回的错误类型字符串。get_error_message:表格存储返回的错误消息字符串。get_request_id:用于唯一标识此次请求的UUID。当您无法解决问题时,记录此requestId并 提交工单。重试 SDK中出现错误时会自动重试。...

DBMS_AQADM

表 1.DBMS_AQADM函数/存储过程 函数/存储过程 返回类型 说明 ALTER_QUEUE N/A 修改现有的队列。ALTER_QUEUE_TABLE N/A 修改现有的队列表。CREATE_QUEUE N/A 创建队列。CREATE_QUEUE_TABLE N/A 创建队列表。DROP_QUEUE N/A 删除现有队列。...

polar_comp_redwood_date

无论 polar_comp_redwood_date 的设置如何,当DATE在任何其他上下文中显示为数据类型(例如 SPL 声明部分中变量的数据类型、SPL存储过程或SPL函数中形参的数据类型或SPL函数的返回类型)时,它始终在内部转换为TIMESTAMP,因此,可以处理...

使用 RETURNING INTO 子句

以下是此存储过程的输出(假定 emp_insert 存储过程创建的员工 9503 仍存在于表中)。EXEC emp_comp_update(9503,6540,1200);Updated Employee#:9503 Name:PETERSON Job:ANALYST Department:40 New Salary:6540.00 New Commission:1200.00 ...

CREATE FUNCTION

RETURNS NULL ON NULL INPUT 或 STRICT 指示只要存储过程的任何参数为 NULL,该存储过程就始终返回 NULL。如果指定了这些子句,则当存在 NULL 参数时,不会执行该存储过程,而是自动假定为 NULL 结果。[EXTERNAL]SECURITY DEFINER SECURITY...

ST_AKID

返回外部存储轨迹的AccessKeyId。语法 text ST_AKID(trajectory traj);参数 参数名称 描述 traj 轨迹对象。描述 如果存储在外部,返回存储此轨迹的AccessKeyId,否则返回null。从OSS外部存储读取轨迹时,需要提供AccessKey,每个AccessKey...

创建函数

RETURNS NULL ON NULL INPUT 或 STRICT 指示只要存储过程的任何参数为 NULL,该存储过程就始终返回 NULL。如果指定了这些子句,则当存在 NULL 参数时,不会执行该存储过程,而是自动假定为 NULL 结果。[EXTERNAL]SECURITY DEFINER SECURITY...

DBMS_UTILITY

PostgreSQL 14.8(PolarDB 14.8.10.0 build 0d3bf26c debug)-PostgreSQL 14.8(PolarDB 14.8.10.0 build 0d3bf26c debug)EXEC_DDL_STATEMENT 该存储过程用于执行DDL语句。语法 DBMS_UTILITY.EXEC_DDL_STATEMENT(parse_string IN VARCHAR2);...
共有200条 < 1 2 3 4 ... 200 >
跳转至: GO
产品推荐
云服务器 安全管家服务 安全中心
这些文档可能帮助您
云存储网关 对象存储 文件存储 CPFS 弹性公网IP 短信服务 人工智能平台 PAI
新人特惠 爆款特惠 最新活动 免费试用