2014-02-19 60 views
0

此代码在iSQL * Plus中生成Warning: Trigger created with compilation errors.(如果该列不存在),但不在Intellij的控制台中执行时。在Intellij中使用Oracle和PL/SQL显示编译警告

CREATE TRIGGER triggerName 
INSTEAD OF INSERT ON Table 
REFERENCING NEW AS variabel 

    BEGIN 
    SELECT 
     COUNT(*) 
    INTO variabel 
    FROM Table 
    WHERE Table.column = 1; 
    END; 

后,我已经执行了以上我可以在iSQL * Plus做SHOW ERRORS并获得类似PL/SQL: ORA-00904: "TABLE"."COLUMN": invalid identifier。在Intellij中试图做SHOW ERRORS给我留下了带有红色下划线的SHOW关键字,这阻止了我执行它。

Intellij中有没有这种iSQL * Plus功能?

+1

会[ALL_ERRORS](http://docs.oracle.com/cd/B19306_01/server.102/b14237/statviews_1052.htm#i1577005)表帮助你吗? –

+0

我确实从all_errors中选择了*,并且确实显示了我正在寻找的错误!但是,你知道为什么显示错误不起作用吗?它只是一个iSQL * Plus功能吗? –

+1

是的,但是有一些插件支持_intellij_,就像[here]一样(http://plugins.jetbrains.com/plugin/1800?pr=phpStorm)。事实上'iSQL * Plus'中的'SHOW ERRORS'会隐含地查询'all_errors'表。该插件应该这样做。 –

回答

1

使用ALL_ERRORS/USER_ERRORS表应该会帮助您查看错误,无论您走到哪里!

SELECT * FROM ALL_ERRORS WHERE NAME = 'TRIGGERNAME' 

SHOW ERRORSiSQL*Plus唯一的功能。它会暗含查询上面的表格并打印结果给我们。

我看到一些插件可用于intellij的支持。像一个here。他们将使用类似的方法SHOW ERRORS