77范文网 - 专业文章范例文档资料分享平台

INFORMIX-4GL实用手册(四)(1)(2)

来源:网络收集 时间:2019-04-01 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

(?,?,?,...)

DECLAREP_CURSSURSORFORPREPSTMT

OPENP_CURSUSING参数1,参数2,....

FETCHP_CURSINTO返回值1,返回值2,...

CLOSEP_CURS

当应用程序不支持EXECUTPROCEDURE语法,则需使用PREPARE命令,如INFORMIX-4GL中,而使用INFORMIX-NEWEAR则无此限制,需注意的是PREPARE语句中变量用?号代替,其个数要与例程的参数个数和类型一致,返回值也是一样。

C):在Informix-ESQL/C中

EXECSQLEXECUTEPROCEDURE例程名(参数1,参数2,...)INTO(返回值1,返回值2,...)在EC5.0或更高版本可使用EXECUTEPROCEDURE语法,在ESQL/C中宿主变量用于想存储例程传递值,同时也接收返回值.

D):在POWERBUILDER中

DECLARE逻辑名PROCEDUREFOR例程名(:参数1,:参数2:...)INTO:返回值1,:返回值2,..USING事物名

EXEC例程名(:参数1,:参数2,.....)

PB要求为例程制定逻辑名,以后的SQL语句将以逻辑名为准指向后台数据库例程,当例程即便没有参数也必须有小扩号.

2.流程控制语言

在过程中也提供了其他语言具备的流程控制语言,完成循环判断和分类处理的能力,主要有:①.IF....ELIF.....ELSE.....ENDIF例:

CRAETEPROCEDURESTR_COM(STR1CHAR(20),STR2CHAR(20))

RETURNINGINT;

DEFINERELINT;

IFSTR1>STR2THEN--当STR1>STR2REL=1

LETREL=1;

ELIFSTR2>STR1THEN--当STR2>STR1REL=-1

LETREL=-1; ELSE

LETREL=0;--当STR1=STR2REL=0 ENDIF

RETUENREL;

ENDPROCEDURE

当IF的条件为一个SQL语句如SELECT时需用扩号,并且返回值为单值。

②.FOR.....ENDFOR

例:FORINDEXIN(20TO30STEP2,100TO200STEP10)

--执行代码

ENDFOR

FOR的条件可以是变量,常量或一个SQL语句的返回值

③.WHILE.......ENDWHILE

当WHILE的条件为TRUE时执行WHILE后的语句,为FALSE退出循环。

例:WHILEI<10

INSERTINTOTBB_1VALUES(I);

LETI=I+1;

ENDWHILE;

④.FOREACH........ENDFOREACH

该语句较为特别FOREACH循环能够声明并打开游标,读取记录行,并关闭游标.其完整语法:

FOREACH游标名[WITHHOLD]SELECT字段名INTO变量FROM

TABLEWHERE条件;

ENDFOREACH

FOREACHEXECUTEPROCEDURE例程名(参数1,参数2,..)INTO 变量

ENDFOREACH

该循环中语句的执行次数与SELECT和EXECUTEPROCEDURE语句返回的行数一样多。如果FOREACH语句中包含一条EXECUTEPROCEDURE,则循环停止的条件为:

.执行了不带任何参数的RETURN语句

.执行了ENDPROCEDURE

如果没有返回行数据,则不再执行循环中的语句。存储例程中不允许使用滚动游标。

当使用WITHHOLD时,更新游标将放置更新锁,使其他过程无法更新该行,直至事物完成,当在FOREACH循环的语句块中的UPDATE或DELETE有

WHERECURRENTOF短语,则存储例程会自动使用更新游标

例1:BEGINWORK;

FOREACHCUR_1FORSELECTDATEINTOV_DATEFROMTABLE

IFV_DATEISNULLTHEN

DELETEFROMTABLEWHERECURRENTOFCUR_1; ENDIF;

ENDFOREACH;

COMMITWORK;

例2:FOREACHEXECUTEPROCEDUREBAR(10,20)INTOI

INSERTINTOTABLE1VALUES(I)

ENDPROCEDURE

⑤.CONTINUE适用语句(FORWHILEFOREACH)将执行传递给下一次循环⑥.EXIT

适用语句(FORWHILEFOREACH)

从循环中退出

例:FORJ=1TO20

IFJ>10THEN

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库INFORMIX-4GL实用手册(四)(1)(2)在线全文阅读。

INFORMIX-4GL实用手册(四)(1)(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/561931.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: