检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
静态SQL 表1 静态查询 SQL语句 序号 Oracle数据库 GaussDB数据库 差异 1 SELECT 支持,有差异 GaussDB和Oracle在某些场景下有不同。 GaussDB中不同事务中的共享锁在如下场景中不会互相阻塞: SELECT FOR SHARE - SELECT
系统函数 兼容函数分为:单行函数、用户自定义函数、AGG函数、分析函数、对象引用函数、模型函数、OLAP函数。 单行函数 其它函数 父主题: 集中式版
其它函数 序号 Oracle数据库 GaussDB数据库 1 聚合函数 支持 2 分析函数 支持 3 对象引用函数 不支持 4 模型函数 不支持 5 OLAP函数 不支持 6 数据盒功能函数 不支持 7 关于用户定义的函数 支持 表1 聚合函数 序号 Oracle数据库 GaussDB
聚合函数 表1 聚合函数列表 MySQL数据库 支持计划外ALT AVG() 支持 BIT_AND() 支持 BIT_OR() 支持 BIT_XOR() 支持 COUNT() 支持 GROUP_CONCAT() 支持 MAX() 支持 MIN() 支持 SUM() 支持 STD()
JSON函数 表1 JSON函数列表 MySQL数据库 支持计划外ALT JSON_APPEND() 支持 JSON_ARRAY() 支持 JSON_ARRAY_APPEND() 支持 JSON_ARRAY_INSERT() 支持 JSON_CONTAINS() 支持 JSON_CONTAINS_PATH
数据库对象 表1 schema对象 序号 Oracle数据库 GaussDB数据库 差异 1 分析视图 不支持 - 2 属性维度 不支持 - 3 集群 支持 - 4 约束 支持 - 5 数据库链接 支持 - 6 数据库触发器 支持 - 7 尺寸 支持 - 8 外部过程库 不支持 -
SQL语句中的引用架构对象和部件的语法 表1 对象引用 序号 Oracle数据库 GaussDB数据库 1 引用对象的一般语法 支持 2 解析对象的引用 支持 3 引用外部模式对象 支持 4 引用外部数据库对象 支持 5 引用表和索引分区和子分区 支持 父主题: SQL的基本元素
PL/SQL语言 GaussDB数据库基本兼容的PL/SQL操作符、表达式,控制语句、集合和record等等,不支持预定义的PL/SQL常量和类型、子类型等。 PL/SQL基本语法 数据类型兼容性 控制语句 集合和Record 静态SQL 动态SQL Trigger 父主题: 分布式版
数据类型兼容性 表1 其他PL/SQL数据类型 序号 Oracle数据库 GaussDB数据库 差异 1 CHARACTER 支持,有差异 GaussDB中字节长度限制为:1~10485760。 Oracle中字节长度限制为:1~32767。 2 VARCHAR 支持,有差异 GaussDB
系统函数 兼容函数分为:单行函数、用户自定义函数、AGG函数、分析函数、对象引用函数、模型函数、OLAP函数。 单行函数 其它函数 父主题: 分布式版
单行函数 序号 Oracle数据库 GaussDB数据库 1 数值函数 支持,有差异 2 返回字符值的字符函数 支持,有差异 3 返回数值的字符函数 支持,有差异 4 字符集函数 不支持 5 Collation函数 不支持 6 日期时间函数 支持,有差异 7 通用比较函数 支持,有差异
系统管理函数 配置设置函数 通用文件访问函数 服务器信号函数 备份恢复控制函数 双集群容灾控制函数 双集群容灾查询函数 快照同步函数 数据库对象函数 咨询锁函数 逻辑复制函数 段页式存储函数 hashbucket系统函数 Undo系统函数 HTAP系统函数 其它函数 父主题: 函数和操作符
类型转换 概述 操作符 函数 值存储 UNION,CASE和相关构造 父主题: SQL参考
SQL语法 SQL语法格式说明 DCL语法一览表 DDL语法一览表 DML语法一览表 其他语法一览表 Online DDL及其操作 A B C D E F G I L M P R S T U V 父主题: SQL参考
SQL语法格式说明 表1 SQL语法格式说明 格式 意义 [ ] 表示用“[ ]”括起来的部分是可选的。 ... 表示前面的元素可重复出现。 [ x | y | ... ] 表示从两个或多个选项中选取一个或者不选。 { x | y | ... } 表示从两个或多个选项中选取一个。
A ABORT ALTER AGGREGATE ALTER AUDIT POLICY ALTER COLUMN ENCRYPTION KEY ALTER COORDINATOR ALTER DATABASE ALTER DATABASE LINK ALTER DEFAULT PRIVILEGES
C CALL CHECKPOINT CLEAN CONNECTION CLOSE CLUSTER COMMENT COMMIT | END COMMIT PREPARED COPY CREATE AGGREGATE CREATE AUDIT POLICY CREATE BARRIER
执行动态SQL语句 在大多数情况下,应用程序执行的SQL语句在编写应用程序时必须是已知的。但是在某些情况下,SQL语句是在运行时进行构造或由外部源提供的。这种情况下不能将SQL语句直接嵌入到C语言源代码中,但是动态SQL语句支持通过一个字符串变量调用所提供的SQL语句。 执行没有结果集的语句
错误处理 有两种非互斥的方法可以处理嵌入式SQL程序的异常情况和告警: 使用WHENEVER命令设置回调,处理告警和错误条件。 通过sqlca获取错误或者告警的详细信息,进行相应处理。 设置回调 sqlca SQLSTATE与SQLCODE 父主题: 基于ecpg开发
预处理指令 本节介绍ecpg提供的预处理指令,用于处理宏定义、文件包含和条件编译的程序指令。 包含文件 ifdef、ifndef、else、elif和endif指令 define和undef指令 父主题: 基于ecpg开发