Получение ошибки -1064
при вставке в таблицу с помощью переменных хоста. Работает поиск, если вместо переменных хоста используются жестко закодированные значения.
Пробовал тот же SQL-оператор, используя жестко закодированные значения, а также переменные хоста. Изменены предложения изображений, использовались переменные индикатора и т. Д. Для переменных хоста, но ничего не работает.
Объявлены переменные хоста:
EXEC SQL BEGIN DECLARE SECTION END-EXEC.
01 hfname pic x(45).
01 hlname pic x(45).
01 hdeptid pic S9(09) comp-4.
EXEC SQL END DECLARE SECTION END-EXEC.
Ниже приведен фрагмент кода:
EXEC SQL
INSERT INTO employee (Fname, Lname, DeptId)
VALUES ("abc", "def", 005)
END-EXEC
if sqlcode not = 0
display sqlcode
display sqlerrmc
stop run
end-if.
Приведенный выше кодработает отлично. Тот же код с переменными вместо жестко закодированных значений, как показано ниже, приводит к упомянутой ошибке:
EXEC SQL
INSERT INTO employee (Fname, Lname, DeptId)
VALUES (:hfname, :hlname, :hdeptid)
END-EXEC
if sqlcode not = 0
display sqlcode
display sqlerrmc
stop run
end-if.
Невозможно выяснить, почему использование переменных хоста не работает. Я пытался изменить длину поля и т. Д., Но ничего не работает. использовал простой рис 9 (4) вместо s9 (09) comp, но не работает. Погуглил совсем немного, но не так много дискуссий о mysql cobol. Спасибо за любую помощь, вы можете предоставить.