检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
开发流程 图1 ecpg整体开发流程 图2 嵌入式SQL-C程序开发流程 父主题: 基于ecpg开发
嵌入式SQL命令 ALLOCATE DESCRIPTOR CONNECT DEALLOCATE DESCRIPTOR DECLARE DESCRIBE DISCONECT EXECUTE IMMEDIATE GET DESCRIPTOR OPEN PREPARE SET AUTOCOMMIT
宿主变量 本节详细介绍如何在C语言程序和嵌入式SQL程序之间使用宿主变量传递数据。在嵌入式SQL-C程序中,将C语言作为宿主语言,将EXEC SQL [Command]语句认为是宿主语言的嵌入式SQL,因此将C语言程序中用于嵌入式SQL语句的变量称为宿主变量。 概述 声明段 检索查询
执行动态SQL语句 在大多数情况下,应用程序执行的SQL语句在编写应用程序时必须是已知的。但是在某些情况下,SQL语句是在运行时进行构造或由外部源提供的。这种情况下不能将SQL语句直接嵌入到C语言源代码中,但是动态SQL语句支持通过一个字符串变量调用所提供的SQL语句。 执行没有结果集的语句
错误处理 有两种非互斥的方法可以处理嵌入式SQL程序的异常情况和告警: 使用WHENEVER命令设置回调,处理告警和错误条件。 通过sqlca获取错误或者告警的详细信息,进行相应处理。 设置回调 sqlca SQLSTATE与SQLCODE 父主题: 基于ecpg开发
预处理指令 本节介绍ecpg提供的预处理指令,用于处理宏定义、文件包含和条件编译的程序指令。 包含文件 ifdef、ifndef、else、elif和endif指令 define和undef指令 父主题: 基于ecpg开发
ecpg接口参考 ecpg接口参考主要介绍pgtypes库提供的用户在嵌入式SQL-C源码程序中可使用的数据类型相关接口。pgtypes库将SQL数据类型映射到C语言数据类型,并提供一些接口实现其基本功能和运算。 区间类型 数值类型 日期类型 时间戳类型 父主题: 基于ecpg开发
实际调优案例 案例:调整查询重写GUC参数rewrite_rule 案例:调整基于代价的查询重写GUC参数costbased_rewrite_rule 案例:建立合适的索引 案例:增加JOIN列非空条件 案例:改写SQL消除子查询 案例:改写SQL消除in-clause 父主题:
系统表和系统视图 系统表和系统视图概述 系统表 系统视图
分区表 ADM_IND_PARTITIONS ADM_IND_SUBPARTITIONS ADM_PART_COL_STATISTICS ADM_PART_INDEXES ADM_PART_TABLES ADM_SUBPART_COL_STATISTICS ADM_SUBPART_KEY_COLUMNS
OLTP表压缩 GS_ADM_ILMDATAMOVEMENTPOLICIES GS_ADM_ILMOBJECTS GS_ADM_ILMPOLICIES GS_ADM_ILMEVALUATIONDETAILS GS_ADM_ILMPARAMETERS GS_ADM_ILMRESULTS
DCL 表1 DCL语法兼容介绍 概述 详细语法说明 差异 SET NAMES指定COLLATE子句 SET [ SESSION | LOCAL ] NAMES {'charset_name' [COLLATE 'collation_name'] | DEFAULT}; Gaus
计划外应用无损透明 流程控制函数 日期和时间函数 字符串函数 强制转换函数 加密函数 比较函数 聚合函数 JSON函数 窗口函数 数字操作函数 网络地址函数 其他函数 父主题: MySQL兼容性M-Compatibility模式
分布式版 概述 MySQL兼容性MySQL模式 MySQL兼容性M-Compatibility模式 父主题: 与MySQL兼容性说明
系统函数 GaussDB数据库兼容绝大多数MySQL的系统函数,但存在部分差异。 除特别说明外,MySQL兼容性MySQL模式中的函数行为默认为GaussDB原生行为。 流量控制函数 日期和时间函数 字符串函数 强制转换函数 加密函数 JSON函数 聚合函数 数字操作函数 其他函数
数字操作函数 表1 数字操作函数列表 MySQL数据库 GaussDB数据库 差异 ABS() 支持 - ACOS() 支持 - ASIN() 支持 - ATAN() 支持 - ATAN2() 支持 - CEILING() 支持,存在差异 部分操作结果类型以及CREATE TABLE
SQL GaussDB数据库兼容绝大多数MySQL语法,但存在部分差异。本章节介绍GaussDB数据库当前支持的MySQL语法。 部分关键字在MySQL可以做标识符但M-Compatibility不可以或存在限制,如表1所示。 表1 限制做标识符列表 关键字类型 关键字 约束 保留(可以是类型或函数)
其他函数 表1 其他函数列表 MySQL数据库 GaussDB数据库 差异 UUID() 支持 - UUID_SHORT() 支持 - 父主题: 系统函数
MySQL兼容性M-Compatibility模式 MySQL兼容性M-Compatibility模式概述 数据类型 系统函数 操作符 字符集 排序规则 事务 SQL 驱动 计划外应用无损透明 父主题: 集中式版
DDL MySQL数据库功能概述 详细语法说明 GaussDB数据库实现差异 建表和修改表时支持创建主键、UNIQUE索引、外键约束 ALTER TABLE、CREATE TABLE GaussDB当前不支持UNIQUE INDEX|KEY index_name语法,使用UNIQUE