在plsql中创建函数,系统调用时,报错ORA—06575

create or replace function v_emp(v_str number :=null)
return number
AS
v_value number(20);
BEGIN
select id into v_value from emp where id=v_str;
return v_value;
commit;
END;

create or replace function v_emp(v_str number :=null)
return number 
AS
v_value number(20);
BEGIN
select id into v_value from emp where id=v_str;--你确定这个表里有id字段?正常emp表里应该是empno这个名称
return v_value;
commit;--不需要commit
END;

另外,你这个函数没什么意义啊?输入一个v_str的参数,返回值给了v_value,还是这个id值。

追问

我不会搞函数。有id这个值,我就用这个直接返回id这个值行不?
create or replace function v_emp(v_str number :=null)
return number
AS
v_value number(20);
BEGIN
select id into v_value from emp where id=v_str;
return v_value;
END;
我这个函数,就是为了获取id这个值,然后我再给它做操作

追答

emp表内容连同字段名截图

追问

追答

plsql左侧的树,找到function,找到v_emp,你看看上边带不带一个红叉❌

追问

没错,我这个创建函数的过程,是对的吗?在plsql中一切正常,我到系统上调用这个函数就不行了,就报无效。。。555。。。

追答

调用方式是什么?发上来看看

追问

Select Substr(新编码, 1, Instr(新编码, ',') - 1) As 上级码, Substr(新编码, Instr(新编码, ',') + 1) As 本级码,Length(Substr(新编码, Instr(新编码, ',') + 1)) As 本级长 From (Select f_诊疗分类目录_Newcode('变量-分类目录ID',0) As 新编码 From Dual)

追答

看私信,q上说,问来问去好费劲

温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜