Sql ORA-06575:包或函数处于无效状态

Sql ORA-06575:包或函数处于无效状态,sql,oracle,function,Sql,Oracle,Function,以上是我的代码,我正在尝试运行,但出现错误: ORA-06575:包或函数处于无效状态 谁能告诉我我做错了什么吗?您必须声明res变量的长度。例如使用res varchar2(100)并再次重新编译该函数。否则,请在执行CREATE FUNCTION…命令后注意警告,如果您看到一些警告,请运行SHOW ERRORS,因为这表明您的代码中存在一些错误。谢谢Kordirko,它解决了我的问题 create or replace function checkBLProgression(getpatie

以上是我的代码,我正在尝试运行,但出现错误:

ORA-06575:包或函数处于无效状态


谁能告诉我我做错了什么吗?

您必须声明
res
变量的长度。例如使用
res varchar2(100)
并再次重新编译该函数。否则,请在执行
CREATE FUNCTION…
命令后注意警告,如果您看到一些警告,请运行
SHOW ERRORS
,因为这表明您的代码中存在一些错误。谢谢Kordirko,它解决了我的问题
create or replace function checkBLProgression(getpatient_id in number)
  return varchar2
is
  res varchar2;
begin
  res := 'M1 progressed';
  return(res);
end;

select checkBLProgression(102934) from dual;