Oracle 10G:ORA-06575:功能处于无效状态 [英] Oracle 10G: ORA-06575: function in invalid state

查看:2765
本文介绍了Oracle 10G:ORA-06575:功能处于无效状态的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  CREATE OR REPLACE FUNCTION tax 
(p_sal IN NUMBER(4))
RETURN NUMBER
AS
v_tax NUMBER(4);
BEGIN
v_tax:= CASE
当p_sal> 4000 THEN
p_sal * 0.33
当p_sal> 2500 THEN
p_sal * 0.25
当p_sal> 1500 THEN
p_sal * 0.20
ELSE 0
END;
RETURN v_tax;
END;
/

当我在插入stmt中使用这个税收功能时,就像

  INSERT INTO employees(eno,ename,job,join_date,sal,comm)
VALUES(7784,'allen','salesman', sysdate,5000,tax(5000));

显示错误,例如

 错误:ORA-O6575:包或函数tax处于无效状态。 

任何人都可以告诉我如何让这个函数处于有效状态?
在此先感谢。

解决方案

使用此命令检查错误:

 从user_errors中选择*其中name ='您的函数名称'


I created a funcion like this

CREATE OR REPLACE FUNCTION tax 
(p_sal IN  NUMBER(4)) 
RETURN NUMBER 
AS
v_tax NUMBER(4);
BEGIN 
v_tax:= CASE        
WHEN p_sal> 4000 THEN
p_sal*0.33       
WHEN p_sal >2500 THEN 
p_sal*0.25      
WHEN p_sal >1500 THEN 
p_sal*0.20     
ELSE 0         
END; 
RETURN v_tax;
END;
/

when i used this tax function in insert stmt like

INSERT INTO employees(eno, ename, job, join_date, sal, comm)
VALUES (7784,'allen','salesman',sysdate, 5000, tax(5000));

it shows the error like

ERROR: ORA-O6575: package or function tax is in invalid state.

can anyone suggest me how to make this function is in valid state? thanks in advance.

解决方案

Check errors with this command:

Select * from user_errors where name='Your function name'

这篇关于Oracle 10G:ORA-06575:功能处于无效状态的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆