我正在尝试检查记录是否存在,否则我想创建它。
例如,
我有一个<table>
没有tab-code
等于2
,所以it is not available
,然后我做另一个find
只是为了“调用”表格来创建一个新项目,但由于某种原因,它没有“调用”表格,我得到一个漂亮的标准错误:record <table> is not on file (138).
我仍然是进步4GL的新手,所以如果它是愚蠢的我会道歉。
find <table> where tab-code = 2.
if not avail <table>
then do:
find last <table> no-lock no-error.
create <table>.
assign <table>.tab-code = 2.
end.
答案 0 :(得分:4)
find <table> where tab-code = 2 NO-ERROR.
答案 1 :(得分:0)
找到记录时,请始终使用NO-LOCK NO-ERROR。如果未使用NO-ERROR,则编译后将给出错误(表示记录不可用)。
FIND FIRST <table> NO-LOCK WHERE <table.id> = 2 NO-ERROR.
IF NOT AVAILABLE <table> THEN DO:
CREATE <table>.
ASSIGN <table>.<table_id> = 2 NO-ERROR.
END.
/*always use FIND FIRST to get record from the particular table. FIND case will fail some time */