oracle - ORA-00923: 在 Oracle APEX 中未找到预期的 FROM 关键字
问题描述
我正在尝试使用动态 sql 使用 sql 查询编辑器绘制图表。我已经在第 4 页中构建了一部分查询,我想在第 5 页中使用它。
在第 4 页中,我将将参数传递给存储过程的查询构建到数据库中的一个包中,并接收查询的一部分。我需要用这种方式
这是结构查询的一部分:
:P4_STRINGA_VIEW = from VIEW_OEE_MAC_MENSILE where V_COD_MACCHINA= 'REP03' and V_ANNO = '2020';
在我看到的很多关于动态 sql 的示例中,其中大多数使用 pl\sql 代码。从数据库获取数据的图表系列选项是 sql 查询和 PL\sql 函数体以返回 sql 查询。我都试过了,但我总是遇到同样的错误。
我已经查找了有关它的示例和文档,但我没有找到解决问题的方法
解决方案
此示例适用于 SQL*Plus;也应该在 Apex 中。
返回语句的函数(你只有一个函数体;使用declare
而不是我发布的第一行)select
看起来像这样;我硬编码p4_stringa_view
,因为我不知道你是如何得到它的:
SQL> create or replace function f_test return varchar2 as
2 p4_stringa_view varchar2(200) := 'from emp where deptno = 10';
3 retval varchar2(200);
4 begin
5 return q'[select 'A' label, ename as V_OEE ]' || p4_stringa_view;
6 end;
7 /
Function created.
执行时返回
SQL> select f_test from dual;
F_TEST
--------------------------------------------------------------------------------
select 'A' label, ename as V_OEE from emp where deptno = 10
select
声明本身是否有效?
SQL> select 'A' label, ename as V_OEE from emp where deptno = 10 ;
L V_OEE
- ----------
A CLARK
A KING
A MILLER
SQL>
是的,它确实。
推荐阅读
- ios - 如何在 xcode 调试器 (lldb) 中导入项目并打印铸造的 swift 对象
- docker - 连接到 Docker Hub “证书链中的自签名证书”时,Kitematic 出现错误
- php - laravel 中的图像验证
- python - 将列表拆分为两个具有相似元素的子列表
- java - JPQL 中带有 JPA 的本机查询的“GROUP_CONCAT”是否有替代方案?
- apache-flink - 如何从 Flink 中的 GlobalWindow 中删除现有密钥
- keycloak - Keycloak中“完成注册”信的“欢迎”
- seaborn - 是否可以为通过 lmplot "col" 函数生成的每个图分配颜色?
- python - 如何根据 PageRank 分数对搜索结果进行排序
- elasticsearch - 控制聚合中创建的桶数