Я пытаюсь вставить массив данных Json во временную таблицу в DB2. Я узнал, что могу добиться этого с помощью функции Json_Table. Я нашел 2 ссылки для этой функции с разным синтаксисом.
Может ли кто-нибудь помочь понять разницу между ними?
https://www.ibm.com/support/producthub/db2/docs/content/SSEPGG_11.5.0/com.ibm.db2.luw.sql.ref.doc/doc/r0070414.html?pos=2
https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.5.0/com.ibm.swg.im.dbclient.json.doc/doc/r0070289.html
В соответствии с моим вариантом использования я считаю, что ссылка 1 подходит, поэтому я попробовал этот пример в DB2 LUW V11.1 / V11.5 Среда Я получаю синтаксические ошибки, в которых говорится, что JSON_Table недействителен. Синтаксис Link 1 не поддерживается в DB2 LUW V11.1 / V11.5 ? Я что-то упустил?
Я только что взял образец кода из ссылки 1 (https://www.ibm.com/support/producthub/db2/docs/content/SSEPGG_11.5.0/com.ibm.db2.luw.sql.ref.doc/doc/r0070414.html?pos=2), как показано ниже
SELECT U. "id", U. "имя", U. "фамилия", U. "номер телефона" ИЗ EMPLOYEE_TABLE E JSON_TABLE (E.jsondo c, 'strict $' COLUMNS ("id" INTEGER, "firstname" VARCHAR (20) , "lastname" VARCHAR (20), "phoneno" VARCHAR (20)) ERROR ON ERROR) AS U
Я получаю такие ошибки маркеров, как: «Несколько маркеров в этой строке
- DB2 для Linux, UNIX и Windows: " "должен был составить полную область.
- DB2 для Linux, UNIX и Windows:« U. «id», U. «имя», U. «фамилия» , U. "номер телефона" ИЗ JSON_EMP E JSON_TABLE (E.EMP_DATA, 'strict $' COLUMNS ("id ..."
При попытке выполнить вышеуказанный запрос я получаю сообщение об ошибке "Неожиданный токен" E "был обнаружен после" er "FROM JSON_EMP ". Ожидаемые токены могут включать:" EXCEPT ".. SQLCODE = -104, SQLSTATE = 42601, DRIVER = 4.19.56"
Я попытался префикс JSON_TABLE с помощью схемы sysibm, но все равно не повезло. У меня такие же ошибки.