如何执行已经存在的PL/SQL。 (甲骨文顶点 21.1)
How to execute PL/SQL that already exists. (Oracle APEX 21.1)
如何显示 PL/SQL“PR_TEXT_CONCAT”的结果?
我想将该结果显示到第 3 页。此页面有 3 个文本字段和 1 个按钮。
在P3_TEXT1
和P3_TEXT2
中输入文字,然后按下按钮(P3_EXECUTE
),在P3_TEXTOUT
上显示字符串P3_TEXT1 + P3_TEXT2
。
该过程是使用以下 SQL.
创建的
CREATE OR REPLACE PROCEDURE PR_TEXT_CONCAT
{
PARAM1 IN VERCHAR2,
PARAM2 IN VERCHAR2, PARAM2 IN VERCHAR2,
PARAMOUT OUT VERCHAR2
}
IS
BEGIN
PARAMOUT := 'SHOP: ' || PARAM1 || '+' || PARAM2;
END;
---已添加--
它写在 PL/SQL 动态内容区域。
Source - PL/SQL Code: :PARAMOUT := PR_TEXT_CONCAT;
我是这样做的
- 创建了 3 个项目 + 1 个按钮
- 创建了一页流程 (1)
- 运行 页面
- 在字段中输入一些文本
- 点击按钮看到输出(2)
(1) 内页进程:P2_TEXTOUT := :P2_TEXT1 || :P2_TEXT2;
(2) 个例子
2nd way:
create or replace function textOut (vText_1 in varchar2, vText_2 in varchar2)
return varchar2 is
vTextOut varchar2(20);
begin
vTextOut := vText_1 || vText_2;
return vTextOut;
end;
然后在你的页面处理源中调用这个函数;
select textOut (:p2_text1, :p2_text2) into :p2_textout from dual;
以下是使用存储过程执行此操作的方法。请注意,您的代码中存在一些错误(花括号和“VERCHAR”均未在 oracle 中使用)
- 创建过程
CREATE OR REPLACE PROCEDURE PR_TEXT_CONCAT
(
PARAM1 IN VARCHAR2,
PARAM2 IN VARCHAR2,
PARAMOUT OUT VARCHAR2
)
IS
BEGIN
PARAMOUT := 'SHOP: ' || PARAM1 || '+' || PARAM2;
END;
/
- 创建顶点页面
- 创建一个包含 3 个项目的区域:P1_ITEM1、P1_ITEM2 和 P1_ITEM3
- 使用“提交页面”操作创建区域按钮
- 使用点“Processing”和代码创建页面进程
PR_TEXT_CONCAT
(
PARAM1 => :P1_ITEM1,
PARAM2 => :P1_ITEM2,
PARAMOUT => :P1_ITEM3
);
这应该可以。在项目 1 和项目 2 中输入一个值,然后单击按钮。第 3 项将包含从存储过程返回的值
如何显示 PL/SQL“PR_TEXT_CONCAT”的结果?
我想将该结果显示到第 3 页。此页面有 3 个文本字段和 1 个按钮。
在P3_TEXT1
和P3_TEXT2
中输入文字,然后按下按钮(P3_EXECUTE
),在P3_TEXTOUT
上显示字符串P3_TEXT1 + P3_TEXT2
。
该过程是使用以下 SQL.
CREATE OR REPLACE PROCEDURE PR_TEXT_CONCAT
{
PARAM1 IN VERCHAR2,
PARAM2 IN VERCHAR2, PARAM2 IN VERCHAR2,
PARAMOUT OUT VERCHAR2
}
IS
BEGIN
PARAMOUT := 'SHOP: ' || PARAM1 || '+' || PARAM2;
END;
---已添加--
它写在 PL/SQL 动态内容区域。
Source - PL/SQL Code: :PARAMOUT := PR_TEXT_CONCAT;
我是这样做的
- 创建了 3 个项目 + 1 个按钮
- 创建了一页流程 (1)
- 运行 页面
- 在字段中输入一些文本
- 点击按钮看到输出(2)
(1) 内页进程:P2_TEXTOUT := :P2_TEXT1 || :P2_TEXT2;
(2) 个例子
2nd way:
create or replace function textOut (vText_1 in varchar2, vText_2 in varchar2)
return varchar2 is
vTextOut varchar2(20);
begin
vTextOut := vText_1 || vText_2;
return vTextOut;
end;
然后在你的页面处理源中调用这个函数;
select textOut (:p2_text1, :p2_text2) into :p2_textout from dual;
以下是使用存储过程执行此操作的方法。请注意,您的代码中存在一些错误(花括号和“VERCHAR”均未在 oracle 中使用)
- 创建过程
CREATE OR REPLACE PROCEDURE PR_TEXT_CONCAT
(
PARAM1 IN VARCHAR2,
PARAM2 IN VARCHAR2,
PARAMOUT OUT VARCHAR2
)
IS
BEGIN
PARAMOUT := 'SHOP: ' || PARAM1 || '+' || PARAM2;
END;
/
- 创建顶点页面
- 创建一个包含 3 个项目的区域:P1_ITEM1、P1_ITEM2 和 P1_ITEM3
- 使用“提交页面”操作创建区域按钮
- 使用点“Processing”和代码创建页面进程
PR_TEXT_CONCAT
(
PARAM1 => :P1_ITEM1,
PARAM2 => :P1_ITEM2,
PARAMOUT => :P1_ITEM3
);
这应该可以。在项目 1 和项目 2 中输入一个值,然后单击按钮。第 3 项将包含从存储过程返回的值