在对应用程序进行更改时,Oracle SQL Developer 19.2 版和 Oracle APEX 4.2 版是不是会相互支持?

Posted

技术标签:

【中文标题】在对应用程序进行更改时,Oracle SQL Developer 19.2 版和 Oracle APEX 4.2 版是不是会相互支持?【英文标题】:Will Oracle SQL Developer version 19.2 and Oracle APEX version 4.2 support each other when making changes to application?在对应用程序进行更改时,Oracle SQL Developer 19.2 版和 Oracle APEX 4.2 版是否会相互支持? 【发布时间】:2020-03-04 12:25:34 【问题描述】:

我在 SQL Developer 中的查询执行良好,但是当我在 APEX 中实现时,应用程序甚至无法运行。所以只是想知道开发者版本和APEX版本是否兼容。

【问题讨论】:

如果您谈论的是查询,那么重要的是Oracle 数据库 版本。如果您的 APEX 环境和 SQL Developer 链接到同一个数据库,那么这将不是问题。你说的“甚至不会跑”到底是什么意思?有错误信息吗? 是的,当我在 APEX 中进行更改并单击运行时,它说要联系 IT 并进行描述。但是当我撤消更改时,应用程序运行良好。这就是我想要做的: - 向现有字段添加新验证。验证语句应该是:“if a 57 then return an error” 【参考方案1】:

SQL Developer 和您的 APEX 应用程序之间没有关系,至少就您所描述的场景而言。

这将有助于显示您的查询,显示您的应用程序未运行,即运行查询时遇到的错误消息。

如果您愿意,可以在 APEX SQL Workshop 中测试查询。

SQL Developer 通过 jdbc 驱动程序作为客户端应用程序运行其查询。 APEX SQL 通过存储过程在数据库内部运行。

【讨论】:

这是我在研讨会上运行的查询:begin if (a 57) then return '#LABEL# is not between the valid range of 10 and 57.';万一;结尾;我收到一个错误:在一个过程中,RETURN 语句不能包含一个表达式 如何修改成一个函数? 这不是一个查询 - 使用您正在调用的完整 PL/SQL 块更新您的问题【参考方案2】:

根据您发表的评论:您在 Apex 的 SQL Workshop 中执行的是一个匿名 PL/SQL 块。

顺便问一下,a 是什么?你从来没有宣布过。

如何将其转换为函数?例如:

create or replace function f_test (a number) 
  return varchar2 is
begin
  return case when a < 10 or a > 57 then 'Value is not in valid range' 
              else null
         end;
end;
/

将其称为例如(在函数体中)

return f_test(:P1_DEPTNO);               

啊哈,还有一条评论:这应该是一种验证。它的类型应该是“PL/SQL 函数返回错误文本”:

  return case when :P1_DEPTNO < 10 or :P1_DEPTNO > 57 
                   then 'Value is not in valid range' 
              else null
         end;

【讨论】:

不幸的是我是新手,不确定这是否正常工作。 **var min := select LV R from LV where id = (select id from tab1 where col2 = 'range') and desc = 'min'; ** **var max := select LV R from LV where id = (select id from tab1 where col2 = 'range') and desc = 'max'; ** **begin if :P1_range 57 then 'invalid range' end if;结尾; ** 以上 ^ 将是我的第二个验证声明。我有一个验证声明,该字段必须有一个值。查询看起来不错? 如何突出显示查询文本? 不要将代码作为评论发布;如您所见,它是不可读的。编辑您发布的原始问题(下面有 EDIT 链接)并在其中添加代码 - 格式正确。 这里似乎也提供了这个问题的更多细节***.com/questions/60528180/…

以上是关于在对应用程序进行更改时,Oracle SQL Developer 19.2 版和 Oracle APEX 4.2 版是不是会相互支持?的主要内容,如果未能解决你的问题,请参考以下文章

DB2 SQL 在对行进行分组时获取不同的值

sql Ejercicio de consultas en oracle 11g express

Oracle SQL 在字段更改时运行总计(仅在字段更改时对列求和)

Oracle SQL:从组中选择最大值和最小值

Oracle 11g 新特性 -- SQL Plan Management 说明

使用T-SQL语句插入更新删除数据表