返回首页

gbase数据、南大通用产品文档:GBase8sGROUP BY 和 HAVING 子句

更新日期:2024年09月11日

可选 GROUP BY 和 HAVING 子句向 SELECT 语句添加功能。可以在基本 SELECT 语
句中包括一个或全部两个子句来增大处理聚集的能力。
GROUP BY 子句组合类似的行,
针对 Projection 子句中列出的每个列,
为具有相同值的每
组行生成单一结果行。
HAVING 子句在构成组之后对那些组设置条件。
可以不带 HAVING
子句使用 GROUP BY 子句或不带 GROUP BY 子句使用 HAVING 子句。

数字类型主要是指使用SQLT_NUM类型的处理。
首先,在获取类型时,GCI接口根据不同的参数配置,对于数字类型,返回的类型有所不同。
具体见表:

Factory 数字类型

1

2
3

SQL_INTEGER
SQLT_INT
SQLT_NUM
SQLT_NUM
四字节整型
SQL_DECIMAL
SQLT_CHR
SQLT_NUM
SQLT_NUM
dec
SQL_SMALLINT
SQLT_INT
SQLT_NUM
SQLT_NUM
两字节整型
SQL_INFX_BIGINT
SQLT_INT
SQLT_NUM
SQLT_NUM
bigint
SQL_BIGINT
SQLT_INT
SQLT_NUM
SQLT_NUM
Int8
SQL_FLOAT
SQLT_FLT
SQLT_FLT
SQLT_FLT
float
SQL_REAL
SQLT_FLT
SQLT_FLT
SQLT_FLT
smallfloat

其次,在插入数据过程中,使用SQLT_NUM类型作为绑定变量的类型时,应用程序须使
用 字符串类型缓存进行绑定。字符串长度可以根据实际字段的精度(数字类型)设定,
一般 设置长度为精度加1。
当操作数据库字段的数字精度大于8字节所表示的范围,或者浮点数精度超过15时, GCI
接 口需要使用字符串类型,进行绑定操作。如果使用的是SQLT_NUM类型,也会转为字
符串
类型进行操作。

例:


Char ch[32] = ‘1.1234567890987654321’;
rc=GCIBindByPos(stmt,&Bindp[0],errhp,1,(dvoid*)ch,(sb4)32,SQLT_NUM,NULL,NULL,NUL
L,0,NULL,GCI_DEFAULT);
上例中,类型指定SQLT_NUM ,实际缓存的内容为字符串。



GBase 8s GCI 接口使用指南

南大通用数据技术股份有限公司 9

当您在超表上定义触发器时,表层次结构中的所有子表也会继承该触发器。因此,当您对
层次结构中的表执行操作时,可对层次结构中作为对其定义触发器的表的子表的任何表执
行触发器。