oracle - Coldfusion 将记录插入 Oracle DB
问题描述
我正在尝试将 Coldfusion 中的记录插入 Oracle DB 11(g),但错误日志显示 ORA-00911: invalid character。我可以从 Oracle DB 中选择记录,但无法插入。
下面是我的代码。
<cfquery name="qOracleData" datasource="Oracle_Test">
Insert into postindept (deptid, propos_position, descr, sm_descr60, grade) values ('1','110000 ', '110000 ','510000 ' ,'10');
COMMIT;
</cfquery>
解决方案
Oracle 仅支持每个查询使用一条语句。从插入语句中删除COMMIT;
(您不需要,因为事务应该自动提交)和尾随分号。
此外,如果您要插入数值,则不应将它们作为字符串传递:
<cfquery name="qOracleData" datasource="Oracle_Test">
Insert into postindept (
deptid, propos_position, descr, sm_descr60, grade
) values (
1, 110000, 110000, 510000, 10
)
</cfquery>
你可以使用绑定参数:
<cfquery name="qOracleData" datasource="Oracle_Test">
Insert into postindept (
deptid,
propos_position,
descr,
sm_descr60,
grade
) values (
<cfqueryparam value = "1" cfsqltype = "CF_SQL_NUMERIC" />,
<cfqueryparam value = "110000" cfsqltype = "CF_SQL_NUMERIC" />,
<cfqueryparam value = "110000" cfsqltype = "CF_SQL_NUMERIC" />,
<cfqueryparam value = "510000" cfsqltype = "CF_SQL_NUMERIC" />,
<cfqueryparam value = "10" cfsqltype = "CF_SQL_NUMERIC" />
)
</cfquery>
推荐阅读
- javascript - 在动态添加到 DOM 之前和之后计算表单字段
- node.js - 如何使用条带代码(检索和删除)使用 Nodejs 从 Stripe 检索和取消订阅?
- java - 为什么可以解析第一个属性但不能解析同一对象的第二个属性
- java - 在片段中显示活动倒计时
- javascript - 例如,滚动到第三段时如何删除粘性标题?或页面中的特定项目
- python - 同时检查多个分类列的值
- python - Python-pandas:一个系列的真值是模棱两可的错误
- pine-script - 松树脚本中 := 和 = 运算符之间的区别
- mysql - 在mysql中使用“HASH PARTITIONING”查找每个分区中的行数
- python - Selenium ElementNotInteractableException:提交按钮不起作用