
正文
oracle函数错误,oracle中函数用法
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
oracle数据库创建函数的时候提示编译错误,求高手指教
1、参数的类型一般是char、verchar2和number。你直接用了 表.列%type 好像有问题。没见过这么用的。p_deptno emp.deptno%type、return emp.sal%type的类型改成number试试。
2、输入的话要加上in,要不是输入,在后边取出的,至少也得赋值,这里就姑且当做你是要输入的两个参数吧。
3、我们创建的时候,用的是create or replace package。我将你包的内容改变了(因为我没有创建你的那个数据表emp),运行成功了的。
4、直接错误是‘yourname’上的引号不对,应该用英文写法的单引号。然后其他错误,emp表中,empno是主键,你把所有的empno都改成9010,执行时应该是会报错的。另:update语句执行后需要commot;提交,否则不生效,还会锁表。
5、该函数没有编译通过,当然在调用时会提示“程序包或函数不存在”,因为该函数还没有建立。
相关问答
Q1: oracle函数returnsys_refcursor怎么报错
通过存储过程的出参,将“当前用户:user_id”连接串返回;比如:假设你的过程叫,prc_test,在参数列表中增加出参。
你的意思是不是要获取到“当前用户:user_id”这个的内容,如果是,两个方式可以解决:通过存储过程的出参,将“当前用户:user_id”连接串返回;比如:假设你的过程叫,prc_test,在参数列表中增加出参。
Oracle 需要通过 返回一个游标来处理。
select show_name from DOCS_REPORT_ITEM_CONFIG where item_id=1129;你这里就查了一个字段,固定了条件,你如果有多个item_id=1129的数据的话,得到的应该会是多条数据。
grant execute on dbms_xxxx to xxx 来赋下权限才可以。此外这个授权system用户是没有权限的,要sys 或者plsql / as dba登录才有权限授权。
Q2: 编写的oracle函数调用报错。
select ***(1,2,3,4,5,6,7,8,9,10,11,12,1,2,3,4,5,6,7,8,9,10,11) from dual;遭遇ora错误 经查询,函数里面有不允许select调用的操作。
你的这个函数编译大概不能通过吧: lxi_split函数已经将返回值定义为TA_lxi表对象,TA_lxi表对象中的元素为TY_lxi类型的,但是在做pipe row给返回表增加元素时使用的又是字符串,这明显与定义不符合,编译会有错误的。
select 中,函数中就只能 包含select 的语法。
oracle里的函数,要写成 select function() from dual;这种脚本形式,当作正常的sql语句执行 根据你的报表,你是用了调用存储过程的方式。
失效了, 重新编译下,看是否能通过, 若不通过,贴下错误信息。你这个让别人无法帮你
关于oracle函数错误和oracle中函数用法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








