sql - 如何解决 Oracle Apex 中的无效列错误?
问题描述
我正在尝试添加一个 plsql 脚本,该脚本将在表单中按下“应用更改”按钮后更新事件。所以我添加了一个新的“动态操作”来单击该按钮的事件,将操作设置为“执行 PL/SQL 代码”并在“PL/SQL 代码”部分编写以下脚本
BEGIN
UPDATE EVENT
SET START_DATE = :P53_START_DATE,
END_DATE = :P53_END_DATE,
START_TIME = :P53_START_TIME,
END_TIME = :P53_END_TIME,
DESCRIPTION = :P53_DESCRIPTION,
WHERE EVENT_ID = :P53_EVENT_ID;
END;
/
但是当我点击“应用更改”时,我不断收到此错误
我使用“P53_.....”从字段中选择值的方式有什么问题吗?
我该如何解决这个问题?
解决方案
这段代码有几个问题:
BEGIN
UPDATE EVENT
SET START_DATE = :P53_START_DATE, << suggest using TO_DATE(:P53_START_DATE,'<your date format mask>') instead
END_DATE = :P53_END_DATE, << suggest using TO_DATE(:P53_END_DATE,'<your date format mask>') instead
START_TIME = :P53_START_TIME,
END_TIME = :P53_END_TIME,
DESCRIPTION = :P53_DESCRIPTION, << this comma makes statement fail
WHERE EVENT_ID = :P53_EVENT_ID;
END;
/ << trailing slash not needed
但正如我在评论中所说,你确定你需要为此采取动态行动吗?在页面提交上执行任何操作的“顶级方式”是在提交时在页面进程中执行 pl/sql 代码。如果需要在不提交案例的情况下执行代码,则可以使用动态操作。这只是一个评论,与您的实际问题无关。
——柯恩
推荐阅读
- php - 十月 CMS 一对一
- clips - 如何使用 PyCLIPS 进行交互式会话?
- c - 如何在C中实现算术右移
- php - 这个 ~* 语法在 sql 查询中的作用是什么?
- javascript - 使用 ajax 处理的多个表单 - 提交按钮 ID
- elixir - 部分覆盖部分
- javascript - MongoDB将多个数组中的元素添加到根元素
- batch-file - 从子文件夹复制数据的批处理脚本
- ibm-content-navigator - Content Navigator 打开文件夹仅获得 200 个结果
- python - 如何在不使用 Python 中的文件路径的情况下读取文件