检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
基于ecpg开发 开发流程 ecpg组件介绍 ecpg预处理以及编译执行 管理数据库连接 执行SQL命令 查询结果集 关闭数据库连接 宿主变量 执行动态SQL语句 错误处理 预处理指令 使用库函数 SQL描述符区域 常用示例 ecpg与Pro*C兼容性对比 ecpg接口参考 父主题:
管理数据库连接 本章节介绍如何建立以及切换数据库连接。 连接数据库 管理连接 父主题: 基于ecpg开发
执行SQL命令 嵌入式SQL命令格式为EXEC SQL [Command],在嵌入的SQL应用中可以运行GaussDB Kernel支持的常见标准SQL语句,或者ecpg提供的扩展SQL语句。当前不支持存储过程、package、匿名块、闪回等特性语法。 执行SQL语句 使用游标 事务管理
使用Plan Hint进行调优 Plan Hint调优概述 指定Hint所处于的查询块Queryblock Hint可以指定表的查询块名和schema名 Join顺序的Hint Join方式的Hint 行数的Hint Stream方式的Hint Scan方式的Hint 子链接块名的Hint
数据类型 数据类型是数据的一个基本属性,用于区分不同类型的数据。不同的数据类型所占的存储空间不同,能够进行的操作也不相同。数据库中的数据存储在数据表中。数据表中的每一列都定义了数据类型,用户存储数据时,须遵从这些数据类型的属性,否则可能会出错。 GaussDB支持某些数据类型间的
基于libpq开发 libpq是GaussDB C应用程序接口。libpq是一套允许客户程序向GaussDB服务器服务进程发送查询并且获得查询返回值的库函数。同时也是其他几个GaussDB应用接口下面的引擎,如ODBC等依赖的库文件。本章给出了示例显示如何利用libpq编写代码。
libpq接口参考 当前不支持通过libpq调用PQfn接口。 数据库连接控制函数 数据库执行语句函数 异步命令处理 取消正在处理的查询 父主题: 基于libpq开发
数据库连接控制函数 数据库连接控制函数控制与GaussDB服务器的连接。一个应用程序一次可以与多个服务器建立连接,如一个客户端连接多个数据库的场景。每个连接都是用一个从函数PQconnectdb、PQconnectdbParams或PQsetdbLogin获得的PGconn对象表
异步命令处理 PQexec函数对普通的同步应用里提交命令已经足够使用。但是它却有几个缺陷,而这些缺陷可能对某些用户很重要。 PQexec等待命令结束,而应用可能还有其它的工作要做(比如维护用户界面等),此时并不希望PQexec阻塞应用。 因为客户端应用在等待结果的时候是处于挂起状
开发流程 图1 采用Psycopg2开发应用程序的流程 父主题: 基于Psycopg开发
开发流程 图1 ecpg整体开发流程 图2 嵌入式SQL-C程序开发流程 父主题: 基于ecpg开发
管理数据库连接 本章节介绍如何建立以及切换数据库连接。 连接数据库 管理连接 父主题: 基于ecpg开发
执行动态SQL语句 在大多数情况下,应用程序执行的SQL语句在编写应用程序时必须是已知的。但是在某些情况下,SQL语句是在运行时进行构造或由外部源提供的。这种情况下不能将SQL语句直接嵌入到C语言源代码中,但是动态SQL语句支持通过一个字符串变量调用所提供的SQL语句。 执行没有结果集的语句
错误处理 有两种非互斥的方法可以处理嵌入式SQL程序的异常情况和告警: 使用WHENEVER命令设置回调,处理告警和错误条件。 通过sqlca获取错误或者告警的详细信息,进行相应处理。 设置回调 sqlca SQLSTATE与SQLCODE 父主题: 基于ecpg开发
基于Go驱动开发 Go驱动环境搭建 开发流程 连接数据库 连接数据库(以SSL方式) Go接口参考 父主题: 应用程序开发教程
Go接口参考 sql.Open接口 type DB type Stmt type Tx type Rows type Row type ColumnType type Result 父主题: 基于Go驱动开发
使用Plan Hint进行调优 Plan Hint调优概述 指定Hint所处的查询块Queryblock Hint可以指定表的查询块名和schema名 Join顺序的Hint Join方式的Hint 行数的Hint Stream方式的Hint Scan方式的Hint 子链接块名的hint
动态SQL 表1 动态SQL语句执行方式 序号 Oracle数据库 GaussDB数据库 差异 1 EXECUTE IMMEDIATE 支持,有差异 GaussDB通过dynamic_sql_compat参数控制同名变量是否读取同一参数,并且检查调用存储过程时绑定参数出入参类型是否与语句参数类型一致。
聚合函数 表1 聚合函数列表 MySQL数据库 GaussDB数据库 差异 GROUP_CONCAT() 支持,存在差异 当group_concat参数中同时有DISTINCT和ORDER BY语法时,所有ORDER BY后的表达式必须也在DISTINCT的表达式之中。 group_concat(
强制转换函数 表1 强制转换函数列表 MySQL数据库 GaussDB数据库 差异 CAST() 支持,存在差异 数据类型转换规则和支持的转换类型均以GaussDB支持的转换范围和规则为准。 CONVERT() 支持,存在差异 数据类型转换规则和支持的转换类型均以GaussDB支持的转换范围和规则为准。