检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
注释 表1 comment 序号 Oracle数据库 GaussDB数据库 差异 1 斜杠和星号(/*) 支持 - 2 两个连字符(--) 支持 - 3 COMMENT命令 支持 - 4 HINT 支持,有差异 GaussDB不支持'--+'hint形式。 具体信息请参见《开发指南》中“SQL调优指南
集合和Record 表1 类型 序号 Oracle数据库 GaussDB数据库 1 Associative array (or index-by table) 支持 2 VARRAY (variable-size array) 支持 3 Nested table 支持 4 record
系统函数 兼容函数分为:单行函数、用户自定义函数、AGG函数、分析函数、对象引用函数、模型函数、OLAP函数。 单行函数 其它函数
其它函数 序号 Oracle数据库 GaussDB数据库 1 聚合函数 支持 2 分析函数 支持 3 对象引用函数 不支持 4 模型函数 不支持 5 OLAP函数 不支持 6 数据盒功能函数 不支持 7 关于用户定义的函数 支持 表1 聚合函数 序号 Oracle数据库 GaussDB数据库
字面量 表1 字面量 序号 Oracle数据库 GaussDB数据库 1 文本字面量 支持 2 数值字面量 支持 3 日期时间字面量 支持 4 区间字面量 支持 父主题: SQL的基本元素
空值 表1 空值 序号 Oracle数据库 GaussDB数据库 1 IS NULL和IS NOT NULL 支持 2 NULLS in conditions 支持 父主题: SQL的基本元素
数据库对象名称和限定符 表1 命名规则 序号 Oracle数据库 GaussDB数据库 差异 1 数据库对象命名规则 支持,有差异。 GaussDB默认小写。 2 模式对象命名规则 支持 - 父主题: SQL的基本元素
SQL语句中的引用架构对象和部件的语法 表1 对象引用 序号 Oracle数据库 GaussDB数据库 1 引用对象的一般语法 支持 2 解析对象的引用 支持 3 引用外部模式对象 支持 4 引用外部数据库对象 支持 5 引用表和索引分区和子分区 支持 父主题: SQL的基本元素
控制语句 表1 条件语句 序号 Oracle数据库 GaussDB数据库 1 IF THEN 支持 2 IF THEN ELSE 支持 3 IF THEN ELSIF 支持 4 simple CASE: CASE selector WHEN selector_value_1 THEN
集合和Record 表1 类型 序号 Oracle数据库 GaussDB数据库 1 Associative array (or index-by table) 支持 2 VARRAY (variable-size array) 支持 3 Nested table 支持 4 record
系统函数 兼容函数分为:单行函数、用户自定义函数、AGG函数、分析函数、对象引用函数、模型函数、OLAP函数。 单行函数 其它函数
其它函数 序号 Oracle数据库 GaussDB数据库 1 聚合函数 支持 2 分析函数 支持 3 对象引用函数 不支持 4 模型函数 不支持 5 OLAP函数 不支持 6 数据盒功能函数 不支持 7 关于用户定义的函数 支持 表1 聚合函数 序号 Oracle数据库 GaussDB数据库
动态SQL 表1 动态SQL语句执行方式 序号 Oracle数据库 GaussDB数据库 差异 1 EXECUTE IMMEDIATE 支持,有差异 GaussDB通过dynamic_sql_compat参数控制同名变量是否读取同一参数,并且检查调用存储过程时绑定参数出入参类型是否与语句参数类型一致。
动态SQL 表1 动态SQL语句执行方式 序号 Oracle数据库 GaussDB数据库 差异 1 EXECUTE IMMEDIATE 支持,有差异 GaussDB通过dynamic_sql_compat参数控制同名变量是否读取同一参数,并且检查调用存储过程时绑定参数出入参类型是否与语句参数类型一致。
基于libpq开发 libpq是GaussDB C应用程序接口。libpq是一套允许客户程序向GaussDB服务器服务进程发送查询并且获得查询返回值的库函数。同时也是其他几个GaussDB应用接口下面的引擎,如ODBC等依赖的库文件。本章给出了示例显示如何利用libpq编写代码。
libpq接口参考 当前不支持通过libpq调用PQfn接口。 数据库连接控制函数 数据库执行语句函数 异步命令处理 取消正在处理的查询 父主题: 基于libpq开发
异步命令处理 PQexec函数对普通的同步应用里提交命令已经足够使用。但是它却有几个缺陷,而这些缺陷可能对某些用户很重要。 PQexec等待命令结束,而应用可能还有其它的工作要做(比如维护用户界面等),此时并不希望PQexec阻塞应用。 因为客户端应用在等待结果的时候是处于挂起状
开发流程 图1 采用Psycopg2开发应用程序的流程 父主题: 基于Psycopg开发
开发流程 图1 ecpg整体开发流程 图2 嵌入式SQL-C程序开发流程 父主题: 基于ecpg开发
管理数据库连接 本章节介绍如何建立以及切换数据库连接。 连接数据库 管理连接 父主题: 基于ecpg开发