Intellij 2016.3更新到Oracle 12c语法

时间:2017-02-20 21:04:24

标签: intellij-idea oracle12c intellij-idea-2016

最近升级到Oracle 12cR1之后,Idea的数据库编辑器语法突出显示已经过时了我的Oracle连接。

使用在SQLPlus(12.1.0.2.0)和SQLcl(4.2.0)中正常工作的12c语法的查询在我的Idea编辑器中突出显示为不正确的语法。从编辑器执行时,它们也无法运行。

我想更新intellij,但我没有找到升级oracle方言的位置,我的jdbc驱动程序似乎是最新的。我希望在两个方面提供建议 - 在哪里升级intellj以成功执行12c语法SQL,以及如何让Idea的Oracle-Dialect具有12c兼容的语法高亮。覆盖这两者的一个例子是subquery-factoring-clause函数声明。这些结构无法在编辑器中使用ORA-06553执行。

我正在使用Ubuntu-16.04 LTS with Idea(v 2016.3.4)
我正在使用Database-Plugin:数据库工具和SQL插件(v 1.0)
我正在使用提供的驱动程序:.IntelliJIdea2016.3 / config / jdbc-drivers /
驱动程序版本是xdb6-12.1.0.2.jar和ojdbc6-12.1.0.2.jar
我目前没有在驱动程序配置中使用任何其他文件

如果还不支持,我可以接受。如果可能,我只想升级。

由于

这是一个用于检查字符串是否在(dvorak)主行上用于键入的示例。该语句在SQLPlus和SQLcl中工作正常,但在Idea中被标记为无效并且无法执行(ORA-06553)。当然,这可以仅使用SQL更简洁地完成,但希望能够说明问题。

WITH
    FUNCTION IS_IT_DVORAK_HOME_ROW(P_CHAR_STRING IN VARCHAR2 )
  RETURN NUMBER
  IS BEGIN
  CASE WHEN REGEXP_LIKE(P_CHAR_STRING, '^[AOEUIDHTNS-aoeuidhtns_ ]{1,}$')
             THEN RETURN 1;
ELSE RETURN 0;
END CASE;
END;
SELECT DECODE(IS_IT_DVORAK_HOME_ROW('This And That And These and Those Too'),1,'Home-Row!','Nope...') AS HOME_ROWNESS
FROM DUAL;
/

0 个答案:

没有答案