DB2里面的表。
PLAN & PACKAGE是存放带有访问路径经过绑定后的DBRM,PACKAGE的优势在于将存放SQL的DBRM粒化,以更小的单位进行存放SQL。
8.为什么要用游标, 在程序中如何使用?
从表中SELECT记录时,满足条件的记录不止一条时就需用到游标。
1 DECLARE, 2 OPEN 3 FETCH 4 CLOSE 9.SQLCODE = -811 表示什么错误? 如何解决 满足条件的记录不止一条,用游标。
10.SQLCODE = -803 表示什么错误? 如何解决
在唯一索引的惟一键处UPDATE INSERT了已经存在的数据,使惟一键不唯一便会出现该错误。 11. -805是什么错误?如何解决?
答: -805表示程序的可执行模块和PLAN不是同一个编译产生的结果。我们需要通过CEMT S PROG(PROGRAM) NEW 来刷新程序,或者是重新进行绑定。
12.请简述COPY BOOK 和 EXEC SQL INCLUDE 的区别 答: COPY BOOK中的内容在COBOL 编译的时候可以被识别,COPY BOOK里的内容可以被展开,但是EXEC SQL INCLUDE只能在DB2预编译的时候被展开,COBOL编译器不能识别。 13. -911返回码表示什么意思?
911表示由于资源抢夺,当前工作单元UOW已经回滚。发生死锁。
14. DB2有那些OBJECT? (table space data base table view) DATA BASE ; TABLE SPACE ; TABLE; VIEW; INDEX; KEY 等 14.DB2为什么要 INCLUDE SQLCA?
An SQLCA is a structure or collection of variables that is updated after each SQL
statement executes. An application program that contains executable SQL
statements must provide exactly one SQLCA. There are two exceptions:
v A program that is precompiled with the STDSQL(YES) option must not provide an SQLCA
v In some cases (as discussed below in In Fortran), a Fortran program must
provide more than one SQLCA.
The description of the SQLCA that is given by INCLUDE SQLCA is shown for each of the host languages.
CA就是communication area ,最主要的内容就是sqlcode和SQLSTATE,还有别的,DB2 实时更新这个区域,可以用程序
访问里面的变量,需要在程序的开始声明这个区域。(就是一个区域,每次执行一个SQL语句,返回码改变一次)
15.DCLGEN是什么,有什么作用?在程序中如何引用DCLGEN产生的变量
DCLGEN is a DB2 DSN subcommand for generating table declarations for designated tables or views. The declarations are stored
in MVS data sets, for later inclusion in DB2 source programs. EXEC SQL INCLUDE DCLGENMEM END-EXEC
16.DB2中 VARCHAR型的数据,主机变量中如何表示? 分为两部分来表示:一部分表示其长度 S9(4) comp
另一部分表示数据 X(N)
COMPUTE FIRSTNME1-LENGTH = FUNCTION LENGTH (FIRSTNME1) MOVE
FIRSTNME1-LENGTH
TO
TBD445-FIRSTNME-LEN MOVE
FIRSTNME1
TO
TBD445-FIRSTNME-TEXT 17.如何对一个表创建唯一索引
CREATE UNIQUE INDEX IXNAME ON TABLE TBTEST (PRIMARYKEY)………………..
如果索引已经创建,用ALTER TABLE TABLE1 ADD UNIQUE
INDEX
18.什么是主机变量?
EXEC SQL SELECT COUNT(*) INTO :A FROM B ,那主机变量A 5728 WORKING-STORAGE SECTION 中如何定义? S 9(9) COMP S 9(4) COMP 19.什么是主键什么是外键?
主键是表中能唯一标识一条记录的一列或列的组合,每个表只能有一个主键,且不能为NULL。
外键 (FK) 是用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就成为第二个表的外键 是一种约束条件,保证的一致和完整性。
20. HAVING & WHERE 的作用是什么? 有什么区别
HAVING不能单独使用,必须和group BY一起。HAVING之后可以加列函数也可以加标量函数。而WHERE 只能加标量函数。 21. 请问BIND PACKAGE 时候的ISOLATION 参数有哪些? 各表示什么意思?
答: ISOLATION级别有 CS RS RR UR
CS表示读游标稳定,游标取得的数据是可以改变的。 RS表示读稳定,可以对表进行读取操作,可以新插入新的记录
RR表示可重复读,对表进行读操作,其他操作不可进行
UR表示可以脏读。
22. 在DB2中,TABLESPACE有几种类型(简单表空间,分段表空间,分区表空间,LOB表空间)?
使用表空间的一个明显的好处是能够把数据合理的分布存储在不同的磁盘上或者存储在磁盘的不同位置上,有助于提高数据存取的效率。DB2 的表空间按管理方式分为两种:系统管理空间(System Management Space,SMS)和数据库管理空间(Database Management Space,DMS)。按类型分为:规则表空间、大对象表空间、系统临时表空间、用户临时表空间。
DB2共有4类表空间:简单表空间(simple tablespace),分段表空间(segmented tablespace),分区表空间(partitioned tablespace),LOB表空间(lob tablespace)。
23.什么情况会产生SQLCODE=-904? 无法利用的资源,得不到的资源。 24.什么时候出现SQLCODE=-530?
在INSERT,UPDATE时,外键与主键値类型不匹配,找不到相等的値,对特定的约束名指定了无效的外键。 25.SEARCH和SEARCH ALL有什么不同? 26. 在JCL下使用(IEFKJ01)来对DB2进行操作。 CICS:
1. 如何理解 LINK XCTL CALL的区别?