我正在执行以下操作,但没有用
select package_name.function_name(param,param) from dual
我正在调用一个返回游标的函数,所以我猜"from dual"
是问题所在
还有另一种方法吗?
我认为您的意思是参考光标。这是一个PL / SQL构造,用作指向查询返回的一组记录的指针。这意味着它必须由运行查询的客户端解释。例如,我们可以将Ref
Cursor映射到JDBC或ODBC ResultSet。
您的基本声明当然没有错。这是一个类似于您自己的函数:
SQL> desc get_emps
FUNCTION get_emps RETURNS REF CURSOR
Argument Name Type In/Out Default?
------------------------------ ----------------------- ------ --------
P_DNO NUMBER(2) IN
P_SORT_COL VARCHAR2 IN DEFAULT
P_ASC_DESC VARCHAR2 IN DEFAULT
SQL>
我可以在更广泛的PL / SQL块中轻松地调用它:
SQL> declare
2 rc sys_refcursor;
3 begin
4 rc := get_emps(50);
5 end;
6 /
PL/SQL procedure successfully completed.
SQL>
但是,SQL * PLus可以本地处理CURSOR构造:
SQL> select get_emps(50) from dual
2 /
GET_EMPS(50)
--------------------
CURSOR STATEMENT : 1
CURSOR STATEMENT : 1
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
8060 VERREYNNE PLUMBER 8061 08-APR-08 4000 50
8061 FEUERSTEIN PLUMBER 7839 27-FEB-10 4500 50
8085 TRICHLER PLUMBER 8061 08-APR-10 3500 50
8100 PODER PLUMBER 8061 3750 50
SQL>
该语句还可以在SQL Developer中运行,尽管结果集的布局很 丑陋 。
因此,如果您在功能方面遇到问题,则问题是:
阅读了关于该主题的其他问题后,我认为问题可能是由于使用了用户定义的Ref Cursor(而不是内置的)。但是,这没有任何区别。此打包功能:
SQL> create or replace package emp_rc_utils as
2
3 type emp_rc is ref cursor return emp%rowtype;
4
5 function get_emps
6 ( p_dno in emp.deptno%type
7 )
8 return emp_rc;
9 end;
10 /
Package created.
SQL> create or replace package body emp_rc_utils as
2
3 function get_emps
4 ( p_dno in emp.deptno%type
5 )
6 return emp_rc
7 is
8 return_value emp_rc_utils.emp_rc;
9 begin
10
11 open return_value for select * from emp where deptno = p_dno;
12
13 return return_value;
14 end get_emps;
15
16 end emp_rc_utils;
17 /
Package body created.
SQL>
仍然有效…
SQL> declare
2 rc sys_refcursor;
3 begin
4 rc := emp_rc_utils.get_emps(50);
5 end;
6 /
PL/SQL procedure successfully completed.
SQL> select emp_rc_utils.get_emps(50) from dual
2 /
EMP_RC_UTILS.GET_EMP
--------------------
CURSOR STATEMENT : 1
CURSOR STATEMENT : 1
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
8085 TRICHLER PLUMBER 8061 08-APR-10 3500 50
8060 VERREYNNE PLUMBER 8061 08-APR-08 4000 50
8061 FEUERSTEIN PLUMBER 7839 27-FEB-10 4500 50
8100 PODER PLUMBER 8061 3750 50
SQL>
问题内容: 我有一个plsql函数,我想从我的函数中调用另一个函数。我怎样才能做到这一点? 这是正确的方法吗? 问题答案: 函数必须返回一个值,否则您应该具有该函数的分配目标。
我一直在学习一些关于如何创建会话对象的课程,效果很好,如果我把完整的代码放到一个PHP文件中,一切都很好! 我想做的是将其放在另一个模块(PHP文件)中,只需使用一行(或等效行)即可,例如
问题内容: 我需要能够调用一个函数,以便运行代码以动态检索图像的来源。以下代码片段显示了我想要的示例: 我敢肯定这很简单,但是我在ng- src文档中 什么都找不到!还有其他人打过这个吗? 提前致谢! 指令(基于答案的示例) 其他人建议使用指令。我无法发布客户端代码,所以我写了一个简短的示例,说明了在plunker中的外观(请参见此处)。核心指令本身是: 我知道我有什么做为一个例子,很可能只是用在
问题内容: 如果要在Keras中使用BatchNormalization函数,是否仅需要在开始时调用一次? 我为此阅读了此文档:http : //keras.io/layers/normalization/ 我看不到该怎么称呼它。下面是我尝试使用它的代码: 我问是因为如果我用第二行(包括批处理规范化)运行代码,而如果我不使用第二行运行代码,则会得到类似的输出。因此,要么我没有在正确的地方调用该函数
问题内容: 我已经在SQL中创建了一个函数,现在我需要在C#应用程序中使用该函数。 我尝试使用类似的方法,但由于得到以下内容,看来我做错了: …当我给出第一个参数和第二个参数时 这是我正在谈论的代码: 我的函数接受两个整数参数并返回一个表。我在Visual Studio中对其进行了检查,并且可以正常工作,但是无法在我的应用程序中正常工作。 这是我的函数声明: 问题答案: 您的SQL有点过时了,应该
问题内容: 我想知道是否可以在ajax调用中使用诸如query_post()之类的函数? 假设我正在调用文件_inc / ajax.php 我想笨拙地使用wordpress函数,但是我不知道为什么。有人可以帮我吗? 非常感谢 :) 问题答案: WordPress提供了一个Ajax网址,您应该将其与完整的Ajax API 一起使用。 您需要创建一个jQuery函数。 例: ajaxurl var始终