oracle调用函数报错

调用某个包里的函数,看到网上说用select
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错误

********** error:ORA-14552: cannot perform a DDL, commit or rollback inside a query or DML 
ORA-06510: PL/SQL: unhandled user-defined exception
ORA-06512: at "**************", line 26
ORA-06512: at "**************", line 933
ORA-14551: cannot perform a DML operation inside a query ********* error:ORA-14552: cannot perform a DDL, commit or rollback inside a query or DML

经查询,函数里面有不允许select调用的操作。

选用下面的方式调用,就可以了

a1 VARCHAR2(11000);
a2 VARCHAR2(12) DEFAULT '12';
begin
a1 := ***********('finance','2','3','4','5','6','7','8','9',10,11,12,'','','','','','','','','','','11') ;
dbms_output.put_line('用户名:'||a1);
end;

注:dbms_output.put_line('用户名:'||a1);--输出结果

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容