字段描述
下表中的名称是 SQL INCLUDE 语句提供的名称。
在大多数情况下,C(和 C++)、 COBOL 和 PL/I 使用相同的名称。 RPG 名称则不同,因为在 RPG/400® 中,名称只能包含 6 个字符。 在 ILE RPG 中,支持长名称和短 6 字符名称。 请注意 PL/I 名称与 COBOL 名称不同的一个例子。
C 名称
COBOL 名称 PL/I 名称 |
ILE RPG 名称
RPG/400 名称 |
字段
数据类型 |
字段值 |
|---|---|---|---|
SQLCAID
sqlcaid |
sqlcaid
sqlaid |
CHAR(8) | 存储转储的 眼睛捕获器,包含 "SQLCA"。 |
SQLCABC
sqlcabc |
sqlcabc
sqlabc |
INTEGER | 包含 SQLCA 的长度, 136。 |
SQL
代码:
SQL 代码 |
sqlcode
sqlcod |
INTEGER | 包含 SQL 返回码。
|
SQLERRML1
sqlerrml |
sqlerrml
sqlerl |
SMALLINT | SQLERRMC 的长度指示符,范围为 0 到 70。 0 表示 SQLERRMC 的值不相关。 |
SQLERRMC1
sqlerrmc |
sqlerrmc
sqlerm |
CHAR (70) | 包含与 SQLCODE 关联的消息替换文本。 对于 CONNECT 和 SET CONNECTION , SQLERRMC 字段包含有关连接的信息,请参阅 表 4 以获取替换文本的描述。 |
SQLERRP
sqlerrp |
sqlerrp
sqlerp |
CHAR(8) | 包含返回错误或警告的产品和模块的名称。 前三个字符标识产品:
|
SQLERRD
sqlerrd |
sqlerrd
sqlerr2 |
数组 | 包含提供诊断信息的六个 INTEGER 变量,请参阅 表 3 以获取诊断信息的描述。 |
SQLWARN
sqlwarn |
sqlwarn
sqlwrn3 |
CHAR (11) | 一组 11 CHAR (1) 警告指示符,每个都包含空白, "W" 或 "N"。 |
SQLSTATE
sqlstate |
sqlstate
sqlstt |
CHAR(5) | 指示最近执行的 SQL 语句的结果的返回码。 |
注:
|
|||
C 名称
COBOL 名称 PL/I 名称 |
ILE RPG 名称
RPG/400 名称 |
字段值 |
|---|---|---|
SQLWARN0
sqlwarn [0] |
SQLWARN (1)
SQLWN0 |
如果至少一个其他指示符包含 "W" 或 "N" ,那么包含 "W"; 如果所有其他指示符都为空白,那么包含 "W"。 |
SQLWARN1
sqlwarn [1] |
SQLWARN (2)
SQLWN1 |
如果将字符串列的值分配给主变量时被截断,那么包含 "W"。 如果在 CRTSQLCI 或 CRTSQLCPPI 命令 (或 SET OPTION 语句上的 CNULRQD (*NO)) 上指定了 *NOCNULRQD ,并且如果将字符串列的值分配给 C NUL 终止的主变量,并且该主变量足够大以包含结果,但不够大以包含 NUL-terminator ,那么包含 'N'。 |
SQLWARN2
sqlwarn [2] |
SQLWARN (3)
SQLWN2 |
如果从函数的自变量中消除了空值,那么包含 "W"; 对于 MIN 或 MAX 函数,不一定设置为 "W" ,因为其结果不依赖于消除空值。 |
SQLWARN3
sqlwarn [3] |
SQLWARN (4)
SQLWN3 |
如果列数大于主变量数,那么包含 "W"。 |
SQLWARN4
sqlwarn [4] |
SQLWARN (5)
SQLWN4 |
如果预编译 UPDATE 或 DELETE 语句不包含 WHERE 子句,那么包含 "W"。 |
SQLWARN5
sqlwarn [5] |
SQLWARN (6)
SQLWN5 |
包含字符值 1 (只读) , 2 (读取和删除) 或 4 (读取,删除和更新) ,以反映光标在 OPEN 语句之后的能力。 |
SQLWARN6
sqlwarn [6] |
SQLWARN (7)
SQLWN6 |
如果日期算术导致月末调整,那么包含 "W"。 |
SQLWARN7
sqlwarn [7] |
SQLWARN (8)
SQLWN7 |
保留 |
SQLWARN8
sqlwarn [8] |
SQLWARN (9)
SQLWN8 |
如果字符转换的结果包含替换字符,那么包含 "W"。 |
SQLWARN9
sqlwarn [9] |
SQLWARN (10)
SQLWN9 |
保留 |
SQLWARNA
sqlwarn [10] |
SQLWARN (11)
SQLWNA |
保留 |
C 名称
COBOL 名称 PL/I 名称 |
ILE RPG 名称
RPG/400 名称 |
字段值 |
|---|---|---|
SQLERRD (1)
sqlerrd [0] |
SQLERRD (1)
SQLER1 |
如果 SQLCODE 小于 0 ,那么包含 CPF 转义消息的最后四个字符。 例如,如果报文是CPF5715,X'F5F7F1F5'将被放在 SQLERRD(1).1 中 对于对过程的调用,包含在 RETURN 语句上指定的返回状态值。 如果未在 RETURN 语句上指定返回状态值,或者该过程是外部过程,
|
SQLERRD (2)
sqlerrd [1] |
SQLERRD (2)
SQLER2 |
如果 SQL 代码小于 0 ,那么包含 CPD 诊断消息的最后四个字符。1 对于 CALL 语句, SQLERRD (2) 包含结果集的数量。 对于 OPEN 语句,\SQLERRD(2) 包含结果集中的估计行数。 |
SQLERRD (3)
sqlerrd [2] |
SQLERRD (3)
SQLER3 |
对于 CONNECT for status 语句, SQLERRD (3) 包含有关连接状态的信息。 请参阅 CONNECT (type 2) 以获取更多信息。 对于 INSERT , MERGE , UPDATE , REFRESH 和 DELETE 显示受影响的行数。 对于 TRUNCATE 语句,值将为-1。 对于 FETCH 语句, SQLERRD (3) 包含访存的行数。 对于 PREPARE 语句,包含所选的估计行数。 如果行数大于 2 147 483 647 ,那么将返回 2 147 483 647。 |
SQLERRD (4)
sqlerrd [3] |
SQLERRD (4)
SQLER4 |
对于 PREPARE 语句,包含每次执行所需的资源的相对数目估算。 此数字因索引的当前可用性,文件大小, CPU 型号等而异。 这是 Db2 for i Query Optimizer 选择的存取方案的估算成本。 对于 CONNECT 和 SET CONNECTION 语句, SQLERRD (4) 包含使用的对话类型以及是否可以执行可落实更新。 请参阅 CONNECT (type 2) 以获取更多信息。 对于 CALL 语句, SQLERRD (4) 包含导致过程失败的错误的消息键。 QMHRTVPM API 可用于返回消息密钥的消息描述。 对于 DELETE , INSERT MERGE , 或 UPDATE 语句中的触发器错误, SQLERRD (4) 包含从触发器程序发出信号的错误的消息键。 QMHRTVPM API 可用于返回消息密钥的消息描述。 对于 FETCH 语句,如果结果行不包含 LOB ,那么 SQLERRD (4) 包含检索的行的长度。 对于 OPEN 语句,如果结果行不包含 LOB ,那么 SQLERRD (4) 包含结果行的长度。 |
SQLERRD (5)
sqlerrd [4] |
SQLERRD (5)
SQLER5 |
对于 CONNECT 或 SET CONNECTION 语句, SQLERRD (5) 包含:
对于 DELETE , INSERT , MERGE 或 UPDATE 语句,显示受引用约束和触发器影响的行数。 对于 EXECUTE IMMEDIATE 或 PREPARE 语句,可能包含语法错误的位置。 对于多行 FETCH 语句,如果已访存表中当前的最后一行,那么 SQLERRD (5) 包含 +100。 对于 PREPARE 语句, SQLERRD (5) 包含预编译语句中的参数标记数。 |
SQLERRD (6)
sqlerrd [5] |
SQLERRD (6)
SQLER6 |
当 SQLCODE 为 0 时,包含 SQL 完成消息标识。 在所有其他情况下,它是未定义的。 |
注:
|
||
| 描述 | 数据类型 |
|---|---|
| 关系数据库名 | CHAR(18) |
| 产品标识 (与 SQLERRP 相同) | CHAR(8) |
| 服务器作业的用户标识 | CHAR(10) |
| 连接方法 (*DUW 或 *RUW) | CHAR(10) |
DDM 服务器类名
|
CHAR(10) |
| 连接类型 (与 SQLERRD (4) 相同) | SMALLINT |