第二章 编写ESQL(3)

2019-08-30 12:45

第二章 编写ESQL/C程序

FROM TableList [WHERE查询条件]

例子:

EXEC SQL select * into :custrec from customer

where customer_num = : cust_num;

其中custrec的域与customer表中的列的结构一一对应。ESQL/C程序中的SELECT语句只能处理返回一行数据的情况。若SELECT语句返回多行数据,则要使用游标来处理。

当从数据库取来的数据出现异常时,这里的异常指某列返回空值或数据发生截断,在INFORMIX ESQL/C中可以定义指示变量来检测。

指示变量是宿主变量的一种,它用于检测SQL语句中数据出现的异常。通常定义为short类型。使用方式为:

a.要检测的宿主变量:指示变量

b.要检测的宿主变量INDICATOR指示变量

例如:

EXEC SQL begin declare section; char fname[15], lname[15]; short fname_ind, lname_ind; long cnum;

EXEC SQL end declare section; cnum = 101;

EXEC SQL select fname, lname

into :fname :fname_ind, :lname :lname_ind from customer

where customer_num = :cnum;

当数据发生截断时,如果是字符型数据,则指示变量的值为截断前的字符串长,如果是数值型转换成字符串型,则指示变量的值大于0,sqlca.sqlwarn0=w,表示警告。当传进一个NULL值时,指示变量的值小于0。没有异常发生,指示变量的值为0。根据指示变量的值,程序员可以作出相应的处理。

(3)UPDATE语句

UPDATE一般形式是: UPDATE表名

SET {column-name=expr[,...]| {(column-list)|*}= (value-list)} [WHERE{condition|

CURRENT OF cursor-name}]

15

第二章 编写ESQL/C程序

例子:

EXEC SQL update customer

set (fname, lname)=(:fname, :lname) where customer_num=:cust_num;

WHERE后接CURRENT OF是使用了游标的情况,语句的含义为:更新游标指向的当前行。

(4)DELETE语句

DELETE语句的一般形式为: DELETE FROM表名 WHERE条件

例子:

EXEC SQL delete from orders

where customer_num = custemer_num;

16


第二章 编写ESQL(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2015建设监理继续教育机电专业测试题73

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: