2014-11-04 20 views
1

我想了解如何在APEX SQL脚本中使用多个过程。首先我并不需要存储过程,但不知道如何在APEX SQL脚本中声明简单的过程。所以这是我的尝试:如何在APEX SQL脚本中执行过程?

create or replace procedure test1 as 
begin 
    DBMS_OUTPUT.ENABLE; 
    dbms_output.put_line('test1'); 
end; 

execute test1; 

这给了我一个错误:

Error at line 7: PLS-00103: Encountered the symbol "EXECUTE"  

所以问题 - 如何创建一个SQL脚本定期/不存储/程序,然后给他们打电话。 APEX SQL脚本中的执行入口点是什么?

+0

只是为了澄清。我的意思是'SQL Workshop'中''SQL Scripts'''APEX'。 – Pablo 2014-11-04 17:46:44

+2

你为什么要这样做?听起来像是一种奇怪的方式去了解事情,除非我误解了问题 – Scott 2014-11-05 03:16:00

+0

我更新了我的答案,希望现在能帮上忙。 – Dmitry 2014-11-05 10:03:12

回答

0

UPD(在我第一次明白的问题完全错误的)

脚本的正确版本:

create or replace procedure test1 as 
begin 
    DBMS_OUTPUT.ENABLE; 
    dbms_output.put_line('test1'); 
end; 
/
begin 
    test1; 
end; 
/

Documentation说,该脚本可以包含精心SQL和PL/SQL命令。 sqlplus的命令将被忽略。

旧版本(让我们留在这儿)

在你可以使用PL/SQL匿名块APEX页。例如,您可以创建过程(APEX有一些类型的人)或PL/SQL区,并使用下列内容:

declare 
    ... 
begin 
    some_proc(:P_MY_ITEM); 
end; 

在这里,你可以调用任何程序,做任何事情,通过PL/SQL允许的。您也可以使用参数如:P_ITEM_NAME来获取和设置页面和应用程序项目的值。

+0

是的,但我的问题是关于APEX SQL脚本特别是,而不是页面。我想在APEX SQL脚本中使用过程。在APEX SQL脚本中编写匿名块会运行它,但是然后添加过程导致错误,我不知道如何调用它们。 – Pablo 2014-11-04 16:04:22

+0

Ohhh ...我犯了一个小错误;)你的意思是'SQL Workshop'中的'SQL Scripts'?据我了解,这些脚本必须像sqlplus的脚本。 – Dmitry 2014-11-04 16:19:13

+0

不用担心:)确切地说,我的意思是'SQL Workshop'中的'SQL Scripts'。那么这个sqlplus脚本有什么入口点,并且可以定义/调用过程? – Pablo 2014-11-04 16:36:43