GBase8s数据库SELECT 语句12

使用带有 INTO 子句的数组变量

在 GBase 8s ESQL/C 中,如果您随同包含 INTO 子句的 SELECT 语句使用 DECLARE 语句,且

该变量为数组元素,则可以整数字面值或变量来标识该数组的单个元素。当声明该游标时,确定用

作下标的变量的值;随后该下标变量表现为常量。

下列 GBase 8s ESQL/C 代码示例为 SELECT … INTO 语句声明游标,使用变量 i 和 j 作为数组

a 的下标。在您声明该游标之后,SELECT 语句的 INTO 子句等同于 INTO a[5], a[2]。

i = 5

j = 2

EXEC SQL declare c cursor for

select order_num, po_num into :a[i], :a[j] from orders

where order_num =1005 and po_num =2865;

您还可在 FETCH 语句中使用程序变量来指定 INTO 子句中程序的元素。在每一获取操作时为程

序变量求值,而不是当您声明该游标时求值。

错误检查

如果收到的变量的数据类型与被选择的项的数据类型不相匹配,如果可能,则将被选择的项的数据

类型转换为该变量的数据类型。如果不可能转换,则发生错误,并在 status 变量、sqlca.sqlcode

或 SQLCODE 中返回负数。在此情况下,程序变量中的值是无法预知的。

在符合 ANSI 的数据库中,如果罗列在 INTO 子句中的变量的数目不同于 Projection 子句的选择

列表中项的数目,则会收到错误。

ESQL/C 中的警告

在 GBase 8s ESQL/C 中,如果罗列在 INTO 子句中的变量的数目不同于 Projection 子句中项的数

目,则在 sqlwarn 结构中返回警告:sqlca.sqlwarn.sqlwarn3。转换的变量的实际数目少于这两个

数目。要获取更多关于 sqlwarn 结构的信息,请参阅 GBase 8s ESQL/C 程序员手册。

FROM 子句

SELECT 语句的 FROM 子句罗列要从其检索数据的表对象

FROM 子句有此语法:

FROM 子句

每个 SELECT 语句都需要 FROM 子句,不论是否需要任何数据源。如果您的查询使用数据库服

务器来对一不需要数据源的表达式求值,则 FROM 子句可引用您在其上持有充足的访问权限的当

前数据库中任何现有的表,如下例所示:

SELECT ATANH(SQRT(POW(4,2) + POW(5,2))) FROM systables;

如果 FROM 子句指定多个数据源,则该查询称为连接,因为它的结果集可从几个表引用连接行。

要了解更多关于连接的信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值