Jetbrains Datagrip / PHPStorm 如何执行 Oracle 存储过程?

7

我正在尝试使用thin client (jdbc)测试两种软件。我的数据库是oracle (v9和v11g)。问题在于我找不到执行存储过程的方法。我已经尝试了以下方法:

execute schema.package.procedure('lorem', :a); -- Like TOAD
execute schema.package.procedure('lorem'); 
execute package.procedure('lorem'); 
execute package.procedure('lorem', :a); -- Also Like TOAD

什么都不起作用。总是出现相同的消息: [2016-01-04 12:40:12] [42000][900] ORA-00900: SQL语句无效


1
我认为我找到了一种使用call的方法:call schema.package.procedure('lorem'); 但仍然无法返回一个游标。 - Rodrigo
你测试过数据库导航插件吗? - miltone
执行一个过程是如此基本的功能,以至于我认为安装插件并不是真正必要的。(我会安装它来试一试) 我希望这个优秀的IDE可以在Oracle上有所改进。这应该是最终替代TOAD的缺失功能。 - Rodrigo
你知道有没有免费的带存储过程的Oracle数据库吗?我也想试着帮你,但是我在工作和家里都没有Oracle RDBMS... :( - miltone
1
我认为Oracle有一个免费版本可以用于学习或开发。但不要浪费时间。我在工作中使用Oracle,但如果我必须选择一个数据库来工作,Oracle不是我的首选。可能是最后一个选择。它是一个强大的数据库,但连接器和其他东西都很麻烦! - Rodrigo
1
我认为Datagrip拥有JetBrains IDE(如PHPStorm等)中的所有功能。PyCharm有一个功能请求,链接为https://youtrack.jetbrains.com/issue/DBE-625。我认为你不是唯一一个要求此功能的人。 - Martin
1个回答

5

DataGrip允许在当前模式下执行没有参数的存储过程,如下所示:

call some_proc();

以下是如何从其他架构调用proc并传递参数:

call schema.package.procedure('params');

3
没有参数但返回表格或结果集的商店怎么办? - Rodrigo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接