Oracle变量作为select

Oracle变量作为select,oracle,plsql,oracle11g,oracle-sqldeveloper,Oracle,Plsql,Oracle11g,Oracle Sqldeveloper,我必须在我的项目中调用oracle SQL语句 所有与连接相关的工作都完成了,但是我的工具没有捕获oracle执行的输出参数 因此,我需要修改此查询以在select语句中返回p_num值 i、 e.表中有一列('p_num'),列名为'Result',只有一行是p_numvalue 下面是sql语句,它当前通过dbms\u output.put\u line DECLARE p_num varchar2(4000); message varchar2(4000) ; BEGIN p_num :

我必须在我的项目中调用oracle SQL语句

所有与连接相关的工作都完成了,但是我的工具没有捕获oracle执行的输出参数

因此,我需要修改此查询以在select语句中返回
p_num

i、 e.表中有一列('p_num'),列名为'Result',只有一行是
p_num
value

下面是sql语句,它当前通过
dbms\u output.put\u line

DECLARE
p_num varchar2(4000);
message varchar2(4000) ; 
BEGIN
p_num := MyFunction();

dbms_output.put_line('Message : ' || p_num) ;
    END;

我想要的是
SELECT
语句中的
p_num
值,这样我就可以捕获bpm工具中的特定列。

您可以直接调用SELECT语句中的函数

1) 第一种方法是通过普通SQL实现

SELECT MyFunction FROM DUAL;
2) 第二种方法是PLSQL,但我不会推荐它,除非它不可避免

set serveroutput on;
declare
lv_var VARCHAR2(100);
lv_out_param VARCHAR2(100);
BEGIN
lv_var:=MyFunction(lv_out_param);
dbms_output.put_line(lv_var||' '||lv_out_param);
END;
/

哪个SELECT语句?您的问题中没有select语句我希望p_num的值应该在resultset中,以便我的bpm工具捕获输出结果值,我希望从temp_Table中选择p_num之类的内容哪个结果?向我们展示您想要更改的查询不确定,但可能是您正在寻找的:-在上面的sql语句中,我有p_num中的值,我希望以select stations表result的形式出现。我对oracle来说是新的,这个双关键字是什么?当我从DUAL执行select Myfunction(“APPR”)时,它表示ORA-06550:第9行第5列:PLS-00428:此select语句中应包含INTO子句DUAL是一个具有单行和列的内置表。当您只想计算一个表达式而对表数据不感兴趣时,可以使用它。关于PLS-00428:不要使用PL/SQL,即删除DECLARE、BEGIN、END,只执行SELECT语句,而不做任何其他操作。@user3815413:我添加了两种实现解决方案的方法。让我知道这是否有帮助。上面解释的DUAL是ORACLE提供的一个虚拟表。非常感谢Avrajit,非常感谢您的快速响应现在它说,函数MyFunction有参数,我如何在没有声明的情况下传递参数?