ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:70.01KB ,
资源ID:16776415      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16776415.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(cobol基本语法Word格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

cobol基本语法Word格式.docx

1、c. 连接节子程序的参数的定义。4、 过程部(PROCEDURE DIVISION)程序的主体:程序的逻辑运算在此操作。a、 每个程序分为四大节(模块),前处理(初始化变量,设定初始值等)-主处理(程序业务处理部分)-后处理(程序正常结束时的岀口 )-错误处理(程序异常结束时的岀口 )b、 对于子程序,PROCEDURE DIVISION后应列岀LINK节中定义的参数。女口: PROCEDURE DIVISION USING LINK-INPUT-DATA LINK-OUTPUT-DATA.c、 程序结束。-主程序STOP RUN.-子程序GO BACK.5、 变量类型COBOL程序的基本变量

2、类型分为两大类字符串型 (X)、数值型(9)。a 字符串型01 STRING-A PIC X(100).100个字符长的变量,程序可以局部操作一个变量 (STRING-A(start: length) 女口:MOVE ALL X ” TO STRING-A(2:10)(将变量STRING-A 第2位开始10长度的内容全赋为”X”字符)b数值型种类类型说明备注DISPLAY9(m)无符号整数,每位占用一个字节, 显示或输岀到文件时,为零的数位 显示”0 ”(1=m =18)例如:01 I PIC 9(8).变量I占用8个字节。I = 1 时,输出显示时为 00000001S9(m)带符号整数,每

3、位占用一个字节,符号位不占位,显示时,为零的数 位显示”0”,符号显示在最后,输岀 到文件时,为零的数位显示”0”,符 号丢失。I = 1 时,显示时为 00000001 +输出到文件时为 000000019(m)V9(n)无符号小数(小数点不显示,不占位) 每位占用一个字节,显示或输岀到 文件时,为零的数位显示”0 ”=m + n 01 I PIC 9(4)V9(2).变量I占用6个字节,整数位4位, 小数位2位。I = 1.1 时,输出显示时为 000110S9(m)V9(n)带符号小数(小数点不显示,不占位) 每位占用一个字节,符号位不占位, 显示时,为零的数位显示”符号 显示在最后,输

4、岀到文件时,为零 的数位显示” ”,符号丢失。变量1占用6个字节,整数位4位, 小数位2位。I = 1.1 时,显示时为 000110+输出到文件时为000110Comp,comp-5,comp-39(m) comp-5无符号整数,数据以二进制方式存 贮,显示和9(m) 一样,不能出力= m S9(m) comp-5有符号整数,数据以二进制方式存 贮,显示和S9(m)类似,只是符号 在前面,不能出力,= 18)9(m)v9(n) comp-5无符号小数,数据以二进制方式存贮,显示和9(m)v9(n) 一样,不能岀力= m + n 大于 30.循环调用子节,直到 N大于30。PERFORM UN

5、TIL 表达式语句 END-PERFORM.循环调用语句块,表达式判断在语句块前进行。FROM A BY B UNTIL X 12PERFORM VARYING X循环调用语句块,相当于FOR循环12、 EVALUATE语句EVALUATE变量、常量、表达式WHENANYTRUEFALSE(NOT) 常量 1 THRU (THROUGH) 常量 2OTHER.END -EVALUATE ANY :任何变量、常量值 TRUE、FALSE :关系表达式的结果口朮儿基本語法 (NOT) 常量 1 THRU (THROUGH) 常量 2: 值( 不)在常量 1 和常量 2 构成的闭区间 另外,在 WH

6、EN 后面可以包含简单的关系表达式。如:EVALUATE A WHEN = 10EVALUATE BWHEN = 1 OR = 2 OR = 3语句 WHEN OTHEREND-EVALUATEEND-EVALUATE.13 、另外 ,不同的 COBOL 系统提供了不同内部函数,建议少用内部函数,以下提供几个通用的内部函数 ORD 取得字符的ASICII码如:便地访问操作 ORACLE 数据库; PRO*COBOL 程序经过 ORACLE 提供的预编译器预编译生成中间 COBOL 程序后,程 序中所有的 SQL 语句直接调用 ORACLE 库函数, 再经过 COBOL 编译器同一般 COBOL

7、 程序一样编译生成各种可执行模 块,由于程序中直接调用 ORACLE 库函数,所以它们访问操作 ORACLE 数据库的速度很快,基本语法如下、特点所有的 SQL 或数据库操作相关语句均被括在 ”EXEC SQL ”和 “END-EXEC ”之间,并且它们只能包含一条语 句,如 :EXEC SQLSQL 语句END-EXEC. 所有访问操作数据库的变量都必须是主变量。 “EXEC SQL”,”END-EXEC 及其包含的语句都必须从 12 列或 12 列以后开始三、 数据部内容。引用两个对象SQLCA, ORACA.EXEC SQL INCLUDE SQLCA END-EXEC.EXEC SQL

8、 INCLUDE ORACA END-EXEC. 主变量定义。EXEC SQL BEGIN DECLARE SECTION END-EXEC. (主变量定义开始)EXEC SQL END DECLARE SECTION END-EXEC. (主变量定义结束)主变量都必须定义在这里,具体定义和一般的 COBO变量一样。VARCHA型变量(可变长度).该变量定义就是在X型变量后加关键字 VARYING如:05 STRING PIC X(100) VARYING.它实际包含两部分(预编译后的中间 COBO程序可见)05 STRING.06 STRING-LEN PIC S9(4) COMP.06 S

9、TRING-ARR PIC X(100).STRING-LEN 表示字符串的实际长度, STRING-ARR表示字符串的实际内容。SQL 语句中,只能用 STRING.从表中得到值时,STRING-LEN自动被赋值。向表中写入值时,STRING-LEN需要手工指定长度,SQL将 STRING(1:STRING-LEN部分有效字符串写到表中。 定义主变量时,引用 COPY句 : EXEC SQL INCLUDE WSITIIOl.cpy END-EXEC. 游标的定义可以放在数据中。四、数据部中SQL语句的基本语法1 )、 错误扑获ORACLE错误扑获是一个全局性的标志,在一个事务 (在PRO*

10、COBO中,ORACLE务以COMMI或ROLLBACKS分割点)中,后一个错误扑获会覆盖前一个错误扑获设置。 遇至U SQL警告(SQLCODE 0 )继续EXEC SQL WHENEVER SQLWARNING CONTINUE END-EXEC. 遇至U SQL错误(SQLCODE EXEC SQL WHENEVER SQLERROR CONTINUE END-EXEC. 0 )跳转EXEC SQL WHENEVER SQLERROR GOTO ORA-ERROR END-EXEC.2 )、 数据连接数据库连接在一般的项目开发中用不到,只用于测试程序 中(不连接外部数据库)方式一(USE

11、RNAM和 PASSWOF分开,女口: USERNAME =“OPS$LAPROC51 PASSWORD = “LAPROC )CONNECT :USERNAME IDENTIFIED BY :PASSWD方式二(USERNAM和 PASSWORD并 ,女口: UID = “ OPS$LAPROC51/LAPR”CUID3)、 静态SQL语句 单条记录的检索SELECT ENAME, SAL, COMMINTO :EMP-NAME, :SALARY, :COMMISSION:COMM-INDFROM EMPWHERE EMPNO = :EMP-NUMBER上例中的COMM-IN为指示变量,在检

12、索操作中每个接受主变量都可指定一个指示变量 用来判断主变量是不是接受到一个空值 (NULL)(主变量不能接受空值),当指示变量为 量应该接受到一个空值(主变量自己表示不出来) 多条记录的检索(CURSORS标) 游标的定义DECLARE CUR_NAME CURSOR FORSELECT MSG_CD , MSG_1,MSG_2FROM WWWTMSG1游标的定义:将 SQL查询语句声明为一个游标,不调用 ORACL库函数,不会更新 游标的打开OPEN CUR_NAME游标的打开:用游标定义的 SQL语句检索数据库,将检索结果生成一个游标对象, 记录前一位置,无法确定游标中有没有记录 )。 游

13、标中记录的抽取FETCH CUR_NAMEINTO : HST-MSG-CD , : HST-MSG-1,:HST-MSG-2游标中记录的抽取:将游标中的记录抽取到相应的主变量中,一次抽取一条。 游标的关闭CLOSE CUR_NAME游标的关闭 : 将现有的游标对象释放,游标再次打开前,必须关闭。 更新UPDATE WWWTMSG1(9(04) COM型),它-1 时,表示对应的主变SQLCOD的 值。( 此时游标指针在第一条SET MSG_1 = : WK-MSG-1,MSG_2 = : WK-MSG-2WHERE MSG_CD = : WK-MSG-CD END-EXEC.删除DELETE

14、 FROM WWWTMSG1 WK-MSG-CDEND-EXEC 插入INSERTINTO WWWTMSG1(MSG_CD,MSG_1,MSG_2)VALUES (:WK-MSG-CD,:WK-MSG-1,WK-MSG-2) 事务的提交 方式一(释放连接)EXEC SQL COMMIT WORK RELEASE END-EXEC. 方式二(不释放连接)EXEC SQL COMMIT WORK END-EXEC. 事务的回滚EXEC SQL ROLLBACK WORK RELEASE END-EXEC. 方式二(不释放连接)EXEC SQL ROLLBACK WORK END-EXEC.典型的S

15、QLCOD值 SELECT1403 : 没有检索到记录FETCH (游标中记录的抽取) 游标指针FETCH到游标的尾部 UPDATE 没有更新的记录-60 : 死锁-2049: 由于死锁导致系统超时 DELETE 没有删除的记录由于死锁导致系统超时典型ORACL内部变量SQLCODE : SQL 语句运行后得到的返回值 SQLERRMC: SQL 语句运行后得到的返回信息 SQLERRD(3): SQL 语句运行处理的记录条数4)、动态SQL语句 动态一(直接执行 SQL字符串) 方式一MOVE INSERT INTO DYN1 VALUES (TEST) TO DYNSTMT. EXEC S

16、QL EXECUTE IMMEDIATE :DYNSTMT END-EXEC. 方式二EXEC SQL EXECUTE IMMEDIATE动态一:只用于没有任何参数和返回结果的 SQL语句操作 动态二(用于非检索SQL语句) 方式一 ( 带参数 )INSERT INTO EMP (EMPNO, DEPTNO) VALUES (:V1, :V2) TO DYNSTMT-ARR.EXEC SQL PREPARE S FROM :DYNSTMT END-EXEC.EXEC SQL EXECUTE S USING :EMPNO, :DEPTNO1 END-EXEC.其中V1,V2为形参,S为PREPA

17、R生成的临时对象 方式二 ( 不带参数 )STRING INSERT INTO DELIMITED BY SIZEEMP (EMPNO, DELIMITED BY SIZE DEPTNO) VALUES ( EMPNO DELIMITED BY SIZE , DEPTNO1 DELIMITED BY SIZE ) INTO DYNSTMT.EXEC SQL EXECUTE S END-EXEC.动态三(用于检索SQL语句)方式一(带参数)SELECT ENAME FROM EMP WHERE DEPTNO = :V1TO DYNSTMT.EXEC SQL DECLARE C CURSOR FOR S END-EXEC.EXEC SQL OPEN C USING :DEPTNO END-EXEC.EXEC SQL FETCH C INTO :ENAME END-EXEC.EXEC SQL CLOSE C END-EXEC. 方式二(不带参数)SELECT ENAME FROM

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1