Oracle兼容性说明

HIERARCHICAL QUERIES SYNONYMS(PUBLIC AND PRIVATE)SEQUENCE GENERATOR HINT 函数 DECODE ROWNUM SYSDATE SYSTIMESTAMP NVL NVL2 安全 Database Firewall Only(SQL/Protect)VPD PROFILES FOR PASSWORDS PL/SQL PL/SQL Compatible NAMED ...

Oracle应用迁移至云原生数据仓库 AnalyticDB ...

说明 由于脚本转换后的PostgreSQL语法版本比 AnalyticDB PostgreSQL 使用的PostgreSQL内核版本高,而且ora2pg依赖规则进行转换,难免会存在偏差,因此您还需要手动对转换后的SQL脚本做纠正。Oracle兼容性 兼容性模式参数 因相同函数在不同...

游标

声明游标变量 所有在PL/SQL中对游标的访问都会通过游标变量,它总是特殊的数据类型 refcursor。创建游标变量的一种方法是把它声明为一个类型为 refcursor 的变量。另外一种方法是使用游标声明语法,通常是:name[[NO]SCROLL]CURSOR[...

表达式

例如,当你写一个这样的PL/SQL语句时:IF expression THEN.PL/SQL将通过给主 SQL 引擎发送一个查询 SELECT expression 来计算该表达式。在构造该 SELECT 命令时,PL/SQL变量名的每一次出现会被参数所替换。这允许 SELECT 的查询计划仅被...

Python访问(2.0版)

db=MySQLdb.connect(host='test-db-89b1ac42.cn-xxx.ads.aliyuncs.com',port=9999,user='test_user',passwd='123456',db='test_db')#使用cursor()方法获取操作游标 cursor=db.cursor()#使用execute方法执行SQL语句 cursor.execute("SELECT ...

全局集合类型

区别于定义在PL/SQL定义域中的局部集合类型,您可以直接用一条SQL语句定义全局集合类型(standalone collection type)。注意事项 目前,PL/SQL支持声明全局变长数组和全局嵌套表。声明它们的语法与声明局部集合类型的语法除了多加一个 ...

概览

以上三种集合类型的区别如下:集合类型 元素个数 索引(下标)类型 未初始化的状态 定义位置 变长数组 需要指定 正整数 NULL PL/SQL、全局或包 嵌套表 不需要指定 正整数 NULL PL/SQL、全局或包 关联数组 不需要指定 正整数或字符串 空 PL/...

基本语句

失败时,这个函数会产生一个这样的错误消息 ERROR:query returned no rows DETAIL:parameters:$1='nosuchuser' CONTEXT:PL/SQL function get_userid(text)line 6 at SQL statement 说明 STRICT 选项匹配 Oracle PL/SQL 的 SELECT INTO 和...

Forall and Bulk Collect

原理 在Oracle PL/SQL过程语言handler和SQL之间需要切换,如果是一个较大的LOOP,切换一多,性能就会下降严重。因此对于在PL/SQL需要多次调用SQL的处理场景,Oracle想到了bulk collect的处理方法。比如用户提交一个数组,要求PL/SQL将这个...

通过应用程序访问数据库

} } } Python import pymysql connection=pymysql.connect(host='<Host>',port=,user='<myUsername>',passwd='<myPassword>',db='<myDatabase>')try:with connection.cursor()as cursor:sql="SELECT*FROM `courses`"#输入希望执行的SQL。...

DELETE

对于变长数组和嵌套表,PL/SQL会在 delete 操作后保留已删除元素的占位符。因此,删除的元素包含在集合的内部大小中,您可以通过为其分配有效值来恢复删除的元素。示例 以下是一个嵌套表删除元素后访问的示例。DECLARE TYPE nt_type IS ...

TRIM

trim 是一个过程,用于从变长数组或嵌套表的末尾删除元素并销毁位置(以下简称为销毁元素)。...结果显示如下:ERROR:subscript beyond count CONTEXT:SQL statement"CALL nt.trim(2)"PL/SQL function inline_code_block line 5 at CALL

PL/SQL中不支持调用其他语言代码

本文说明PL/SQL调用其他语言代码的支持情况。背景说明 目前在PolarDB O引擎中不支持使用其他语言编写的函数、存储过程。解决方案 使用PolarDB O引擎支持的SPL语言,或Postgresql支持的PL/pgSQL实现相应的业务逻辑。示例 使用Java实现的函数...

子类型

语法 PL/SQL允许用户自定义子类型(subtype),即在基本类型的基础上增加一些限制。自定义子类型定义的语法如下:SUBTYPE subtype_name IS base_type[precision[,scale]|RANGE low_value.high_value][NOT NULL];示例 DECLARE SUBTYPE ...

触发器函数

数据改变的触发器 一个 PL/SQL 被声明为一个没有参数并且返回类型为 trigger 的函数。注意,如下所述,即便该函数准备接收一些在 CREATE TRIGGER 中指定的参数—这类参数通过 TG_ARGV 传递,也必须把它声明为没有参数。当一个PL/SQL函数...

PolarDB PostgreSQL(兼容Oracle)2.0版本与1.0版本...

DBMS_SQL包提供了使用动态SQL执行数据操作语言(DML)和数据定义语言(DDL)语句、执行 PL/SQL匿名块以及调用PL/SQL存储过程和函数的接口。DBMS_UTILITY包提供了各种实用子程序。UTL_ENCODE包提供了一组进行数据编解码的函数,方便数据在不同...

声明

本文介绍了PL/SQL的声明信息。简介 在一个块中使用的所有变量必须在该块的声明小节中声明(唯一的例外是在一个整数范围上迭代的 FOR 循环变量会被自动声明为一个整数变量,并且相似地在一个游标结果上迭代的 FOR 循环变量会被自动地声明为...

DBMS_AQ

dequeue_options_t.dequeue_mode DBMS_AQ.LOCKED(1)常量,必须指定在PL/SQL常量包的范围内的常量。dequeue_options_t.dequeue_mode DBMS_AQ.REMOVE(2)读取之后删除消息,该参数为默认值。dequeue_options_t.dequeue_mode DBMS_AQ.REMOVE_...

控制结构

简介 控制结构可能是PL/SQL中最有用的(以及最重要)的部分了。利用PL/SQL的控制结构,你可以以非常灵活而且强大的方法操纵本数据库的数据。从一个函数返回 有两个命令让我们能够从函数中返回数据:RETURN 和 RETURN NEXT。RETURN RETURN ...

应用程序连接示例

('B'),('C'),('D')"cursor.execute(sql)#Select values cursor.execute("select id,name from dbo.tb_test order by id")for row in cursor.fetchall():print(row)sql="delete from dbo.tb_test"cursor.execute(sql)cursor.close()...

执行引擎

PQE(Postgres Query Engine)用于兼容Postgres提供扩展能力,支持PG生态的各种扩展组件,如PostGIS,UDF(PL/JAVA,PL/SQLPL/Python)等。部分HQE还没有支持的函数和算子,会通过PQE执行,每个版本都在持续优化中,最终目标是去掉PQE。...

用户定义的 PL/SQL 子类型

PolarDB PostgreSQL版(兼容Oracle)支持用户定义的PL/SQL子类型和(子类型)别名。子类型是具有一组可选约束的数据类型,这些约束限制可以存储在该类型的列中的值。适用于该子类型所基于的类型的规则仍然适用,但您可以使用其他约束限制该...

快速入门

如果您初次使用阿里云关系型数据库RDS,请参见快速...阿里云关系型数据库MariaDB完全兼容社区版MariaDB,良好兼容Oracle,对PL/SQL有优秀的兼容性,提供技术支持以及专家服务,为您提供企业级数据库解决方案。当前RDS MariaDB支持10.3版本。

通过应用程序访问数据库

sql="SELECT*FROM `courses`"cursor.execute(sql)for result in cursor:print(result)finally:connection.close()C示例代码:说明 请先安装mysql.h头文件,以CentOS为例,执行如下命令:sudo yum install mysql-devel#include<stdio.h>#...

新功能发布记录

04-17 管理日志 优化 云盘存储容量上限增加 RDS SQL Server ESSD云盘(PL1、PL2、PL3)和通用云盘支持的存储容量上限由原来的4000 GB或16000 GB提升至32000 GB,您可在新购实例或增加已有实例存储容量时按需选择。04-09 主实例规格列表 ...

迁移评估概述

数据库 SQLPL 语句评估 支持直接连接 Oracle 数据库,直接扫描 SqlArea 视图,获取对应 Schema 的 SQL 语句,并评估对应 OceanBase 数据库版本的兼容性。支持从文本文件(;或“$”分隔)评估 SQLPL 语句的兼容性。支持直接从 ...

新功能发布记录

设置存储自动扩容 查看集群实例变配历史 存储类型互转 支持集群实例的存储类型在ESSD 云盘 PL1 和 ESSD 云盘 PL0 之间相互切换。切换存储类型 租户规格定时变配 OceanBase 数据库支持通过设置租户规格定时变配,动态调整租户的CPU、内存等...

内置的安全审计规则

数据库审计规则按照以下攻击场景进行分类:异常操作 应用账号风险操作 运维人员风险操作 数据库探测 数据泄露 拖库攻击 数据库外联 大流量返回 漏洞攻击 缓冲区溢出 存储过程滥用 拒绝服务漏洞 隐通道攻击 SQL注入 SQL注入尝试利用 疑似SQL...

自定义函数

NO SQL|READS SQL DATA|MODIFIES SQL DATA }|SQL SECURITY { DEFINER|INVOKER } routine_body:Valid SQL routine statement 示例 CREATE FUNCTION my_mul(x int,y int)RETURNS int LANGUAGE SQL DETERMINISTIC COMMENT 'my multiply ...

案例:构建文本语义检索系统

password"))cursor=connection.cursor()cursor.execute(query_sql)results=cursor.fetchall()connection.close()return results"id="ui30gx"title=""uuid="liin3dt2a301741ynyf"data-tag="codeblock"outputclass="language-python"class=...

案例:搭建以图搜图系统

cursor.execute(create_table_sql)cursor.execute(alter_vector_storage_sql)cursor.execute(create_indexes_sql)connection.commit()将数据集的图片特征向量导入到表中。import io#定义一个生成器函数,逐行处理文件中的数据。def process...

Python

cursor=db.cursor()#使用execute方法执行SQL语句。cursor.execute("SELECT VERSION()")#使用 fetchone()方法获取一条数据。data=cursor.fetchone()#示例中的print仅适用Python 2。Python 3的print需要加括号,print("Database version:%s"%...

存储过程

{ CONTAINS SQL|NO SQL|READS SQL DATA|MODIFIES SQL DATA }|SQL SECURITY { DEFINER|INVOKER } routine_body:Valid SQL routine statement 调用存储过程 CALL PROCEDURE_NAME(params list);删除存储过程 DROP PROCEDURE[IF EXISTS]...

错误和消息

说明 PL/SQL中的事务控制语句仅在顶层过程的PL/SQL块和匿名块中被允许使用。清空测试表 DELETE FROM test;DECLARE my_exception EXCEPTION;BEGIN INSERT INTO test VALUES(1);COMMIT;提交 RAISE my_exception;EXCEPTION WHEN my_exception ...

存储过程

PL/pgSQL-SQL 过程语言 PL/pgSQL 是 AnalyticDB PostgreSQL版 数据库系统的一个默认安装的过程语言,易于使用。PL/pgSQL 的设计目标是创建一种可加载的过程语言,可以:用于创建函数和触发器过程;为 SQL 语言增加控制结构;执行复杂的计算...

不支持异常类型

unable_to_establish_connection Class P0—PL/pgSQL Error P0000 plpgsql_error P0001 raise_exception P0002 no_data_found P0003 too_many_rows P0004 assert_failure Class XX—Internal Error XX000 internal_error XX001 data_...

数据库敏感数据加密

cursor=conn.cursor(cursor=pymysql.cursors.DictCursor)#定义要执行的SQL语句。sql='insert into user(name,email)values(%s,%s);'#执行SQL语句。cursor.execute(sql,[user.name,user.email])print("insert name:"+user.name)print(...

PL 编译和调试

是对 SQL 的扩展,在普通 SQL 语句的基础上增加了编程语言的特点,将数据操作和查询语句组织在 PL 代码的过程化代码中,通过逻辑判断、循环等操作实现复杂的功能。使用 PL 可以编写具有高级功能的程序,能够将业务逻辑封装在数据库内部,...

特殊用法

结果显示如下:PL/SQL 的输出 NOTICE:SQLCODE:P0005,SQLERRM:save exceptions raised in FORALL statememt NOTICE:no:1 NOTICE:err_index:2 NOTICE:err_code:23505 NOTICE:err_msg:duplicate key value violates unique constraint"test_...

错误代码

情况名称可以被写成大写或小写形式(注意PL/SQL不识别警告(与错误不同)情况名称,它们是类别 00、01 和 02)。对于某些类型的错误,服务器会报告与错误相关的数据库对象(一个表、表列、数据类型或约束)的名称。例如,导致一个 unique_...
共有200条 < 1 2 3 4 ... 200 >
跳转至: GO
产品推荐
云服务器 安全管家服务 安全中心
这些文档可能帮助您
云原生数据仓库AnalyticDB MySQL版 实时计算 Flink版 云数据库HBase版 云备份 弹性公网IP 短信服务
新人特惠 爆款特惠 最新活动 免费试用