返回首页

gbase数据、南大通用产品文档:GBase8a

更新日期:2024年09月11日

新建函数过程
使用“新建函数过程”功能,您可以图形化创建函数过程。
在“数据库导航”中,右键单击Schema 节点下的函数过程节点,选择菜单
中的“新建函数过程”菜单项,如下图所示:

GBaseDataStudio 管理工具手册
南大通用数据技术股份有限公司
- 213 -
图5- 583 新建函数过程菜单项
点击“新建函数过程”菜单弹出新建对话框,如下图所示:
图5- 584 新建函数过程对话框
在新建函数过程对话框中填写名称,然后点击“确定”按钮进入函数过程
编辑界面如下图所示:

GBaseDataStudio 管理工具手册
- 214 -
南大通用数据技术股份有限公司
图5- 585 新建函数过程编辑
在函数过程编辑界面“源”编辑框中编辑函数过程主体,编辑完成后点击
工具栏中的“保存”按钮或者点击“Ctrl+S”来保存,弹出保存确认界面如下
图所示:

GBaseDataStudio 管理工具手册
南大通用数据技术股份有限公司
- 215 -
图5- 586 新建函数过程编辑
点击“保存”按钮,您可以保存这次新建函数过程;点击“复制”按钮,
您可以将新建函数过程的SQL 语句拷贝到粘贴板;点击“取消”按钮,您可以
取消本次保存。保存后将刷新函数过程内容。

对象资源操作为数据库/表操作。

数据库/表操作
是对数据库/表进行插、查、删、改和管理等一系列操作。

当安装 GBase 8s ESQL/C 时,安装脚本将头文件存储在 $GBASEDBTDIR/incl/esql
目录
(在 UNIX™ 操作系统上)
和 %GBASEDBTDIR%\incl\esql 目录中
(在 Windows™ 环
境中)。
下表显示了 GBase 8s ESQL/C 产品提供的头文件。
表 1. ESQL/C 头文件
头文件
内容
其它信息
datetime.h
GBase 8s ESQL/C datetime 和 interval 结构的定
义,它们是 DATETIME 和 INTERVAL 列的主变量
时间数据类型
decimal.h
GBase 8s ESQL/C decimal 数据类型的定义,是
DECIMAL 和 MONEY 数据类型的主变量
Numeric 数据
类型
gls.h
用于 GLS 功能的函数原型和数据结构
GBase 8s
GLS 用户指

ifxtypes.h
精确映射 GBase 8s 数据类型 int1 、int2 、int4 、
mint 、mlong 、MSHORT 和 MCHAR ,用于
32 位和 64 位平台
整数主机变量
类型
locator.h
GBase 8s ESQL/C 定位器结构(ifx_loc_t 或 loc_t)
的定义,它是字节和文本列的主变量
简单大对象

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 27 -
sqlca.h
ESQL/C 用来存储错误状态代码的结构的定义
当 esql 预处理器预处理程序时,自动包含此文件。
异常处理
sqlda.h
值指针和结构定义以及动态定义变量的描述
确定 SQL 语

sqlhdr.h
该文件包含 sqlda.h 头文件、其它头文件以及函数原
型。
预处理器预处理程序时自动包含该文件。
在程序中包含
头文件
sqliapi.h
内部库 API 函数原型
仅供内部 GBase 8s ESQL/C 使用。

sqlstype.h
SQL 语句常量的定义
DESCRIBE 语句使用这些常量描述动态准备的 SQL
语句
确定 SQL 语

sqltypes.h
定义与 ESQL/C 和 SQL 数据类型相对应的常量
当程序包含 DESCRIBE 语句时,
ESQL/C 使用这些常
量。
数据类型常量
sqlxtype.h
当在 X/Open 模式时定义与 GBase 8s ESQL/C 和
SQL 数据类型相对应的常量
当程序包含 DESCRIBE 语句时,
ESQL/C 使用这些常
量。
X/Open 数据
类型常量
value.h
GBase 8s ESQL/C 使用的值结构
仅供内部 GBase 8s ESQL/C 使用。

varchar.h
可以使用 VARCHAR 数据类型的宏
字符和字符串
数据类型
下图显示了特定于 GBase 8s 的 GBase 8s ESQL/C 头文件。
表 2. GBase 8s 的 ESQL/C 头文件
头文件
内容
其它信息
collct.h
GBase 8s ESQL/C 中复杂类型的数据结构的定义
复杂数据类型

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 28 -
头文件
内容
其它信息
ifxgls.h
用于 GLS 应用程序编程接口的函数原型
仅供内部 GBase 8s ESQL/C 使用。

int8.h
存储 INT8 数据类型结构的定义
int8 数据类型
下表显示了特定于 Windows 环境的 GBase 8s ESQL/C 头文件。
表 3. Windows 环境中的 ESQL/C 头文件
头文件
内容
其它信息
sqlproto.h
所有 ESQL/C 库函数的函数原型,用于不完全符合
ANSI C 标准的源
声明函数原型
infxcexp.c
包含用于导出 ESQL 客户端接口 DLL 使用的所有 C
运行时例程的地址的 C 代码
相同运行例程的版本独
立性
login.h
InetLogin 和 HostInfoStruct 结构的定义,为应用
程序定制配置参数
因为此文件不包含 ESQL 语句,
所以不需要使用 ESQL
include 伪指令包含它。而是用 C #include 预处理器
伪指令。
InetLogin 结构的字段
声明函数原型
GBase 8s ESQL/C 提供 sqlproto.h 头文件为所有 GBase 8s ESQL/C 库函数声明函数
原型。您使用 ANSI C 编译器的 GBase 8s ESQL/C 源文件需要这些函数原。缺省情况下,
esql 命令处理器不包含函数原型声明。
使处理器包含符合 GBase 8s ESQL/C 函数的 ANSI
兼容的函数原型可以防止 ANSI C 编译器生成警告。
限制:
尽管可以使用 ANSI C 编译器,
GBase 8s ESQL/C 预处理器并不全支持 ANSI
C,因此您可能不能处理遵循 ANSI C 标准的全部程序。
因为 sqlproto.h 文件不包含任何 GBase 8s ESQL/C 语句,使用可用使用以下方法包
含此文件:
使用 GBase 8s ESQL/C include 预处理器伪指令:
EXEC SQL include sqlproto;
使用 C #include 预处理器伪指令:
#include "sqlproto.h";
在程序中包含头文件
GBase 8s ESQL/C 预处理器在程序中自动包含以下 GBase 8s ESQL/C 头文件:

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 29 -
sqlhdr.h 文件为您的 GBase 8s ESQL/C 程序提供和游标相关的结构。
该头文件自动包含 sqlda.h 和 ifxtypes.h 头文件。
sqlca.h 文件,允许您的查询检查带有 SQLSTATE 或 SQLCODE 变量的 GBase 8s
ESQL/C 语句的成功或失败。
限制: 尽管现在使用 ANSI C 编译器,GBase 8s ESQL/C 预处理器也不完全支持
ANSI C,因此可能不能处理所有遵循 ANSI C 标准的程序。
要在您的 GBase 8s ESQL/C 程序中包含任何其它头文件,必须使用 include 预处理
器伪指令。但是,如果您的程序引用头文件定义的结构或定义,则必须包含 GBase 8s
ESQL/C 头文件。例如:如果您的程序访问 datetime 数据,那么必须包含 datetime.h 头文
件,如下所示:
EXEC SQL include datetime.h;
确保使用分号结束代码行。一些其它示例如下:
EXEC SQL include varchar.h;
EXEC SQL include sqlda;
$include sqlstype;
提示: 不需要对 GBase 8s ESQL/C 头文件输入 .h 文件扩展名;esql 预处理器假
定 .h 扩展。