【发布时间】:2016-04-11 09:12:17
【问题描述】:
我正在使用 CICS 屏幕,用户可以在其中查询、添加、更新或删除表中的数据。在我的一张表中,唯一键由 5 个字段组成,其中 2 个可以为 NULL。在我的光标中,我不得不使用
AND (COLUMN_1 = :V??-REC.COLUMN-1 OR COLUMN-1 IS NULL)
然后我必须对结果进行评估并显示最接近的匹配结果。
我目前如何找到 NULL 条目:
EXEC SQL
DECLARE V000001-CUR CURSOR FOR
SELECT DOCM_N,
DOCM_TYPE_T,
REJ_RESN_C
FROM V000001
WHERE DOCM_N = :V000001-REC.DOCM-N
AND DOCM_TYPE_T = :V000001-REC.DOCM-TYPE-T
AND (REJ_RESN_C = :V000001-REC.REJ-RESN-C OR
REJ_RESN_C IS NULL)
END-EXEC
网上看过,使用update或者insert的时候可以用null指标往表中插入NULL。
例如:
EXEC SQL
UPDATE V000001
SET DOCM_N = :V000001-REC.DOCM-N,
DOCM_TYPE_T = :V000001-REC.DOCM-TYPE-T,
REJ_RESN_C = :V000001-REC.REJ-RESN-C
:WS-REJ-RESN-C-IND
WHERE DOCM_N = :WW-DOCM-N
AND DOCM_TYPE_T = :WW-DOCM-TYPE-T
END-EXEC
我的问题。我可以在 WHERE 子句中使用空指示符吗?
如:
EXEC SQL
DECLARE V000001-CUR CURSOR FOR
SELECT DOCM_N,
DOCM_TYPE_T,
REJ_RESN_C
FROM V000001
WHERE DOCM_N = :V000001-REC.DOCM-N
AND DOCM_TYPE_T = :V000001-REC.DOCM-TYPE-T
AND REJ_RESN_C = :V000001-REC.REJ-RESN-C
:WS-REJ-RESN-C-IND
END-EXEC
【问题讨论】:
标签: null cobol cics embedded-sql