我在oracle 11g中定义了一个表,其中包含以下语句:
[{"companyObject":{"28":"KEM","3":"COMPANY1","6":"218","21":"6.8",
"14":"33543","16":"7188572.3"}},
{"companyObject":{"28":"KEM","3":"COMPANY2","6":"219","21":"7.2",
"14":"35200","16":"7188111.7"}}]
我正在使用以下代码段来更新包含dataTable中内容的表:
CREATE TABLE "TESTUSER"."TestTableOracleWriter"
("name" VARCHAR2(100 BYTE),
"group" VARCHAR2(100 BYTE),
"number" NUMBER(*,0),
"creation" DATE,
"sliceidentifier" RAW(100),
CONSTRAINT "TESTTABLEORACLEWRITER_PK" PRIMARY KEY ("name"))
但有时代码会因“ ORA-01745:无效的主机/绑定变量名”而失败,我在网上搜索并发现一些材料说它与oracle有关保留字。从link,“名称”,“组”和“数字”被标记为保留字。我可以更改我的表列名称以使代码工作。
但最奇怪的是代码不会一直失败,只有当dataTable只包含一行时才会失败,在其他情况下,它会按预期工作。任何人都有这方面的想法?
答案 0 :(得分:5)
您不能使用关键字作为参数名称。 不要使用组和编号作为参数名称