博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle创建函数难点,oracle创建函数遇到的坑,
阅读量:5170 次
发布时间:2019-06-13

本文共 720 字,大约阅读时间需要 2 分钟。

oracle 创建函数遇到的坑

-- 添加函数

create or replace function test110(paramVal VARCHAR2)

return number is pragma  AUTONOMOUS_TRANSACTION;

paramValue number;

begin

select t.CURRENT_VALUE into paramValue from sys_auto_increment t where t.name = paramVal;

paramValue:=paramValue+1;

update sys_auto_increment t set t.CURRENT_VALUE = paramValue where t.name =paramVal;

commit;

return paramValue;

end;

-- 查询函数

select test110('test') from dual

当遇到ORA-06575: Package or function TEST110 is in an invalid state 时,除了语法验证之外,看看每一行的sql是否有分号结尾,没有分号也会提示这个错误!

注意:不应当有分好的额地方如果有分号也会提示这个异常!

f3597c38920c49bd83f8219f87022e84.png

当出现cannot perform a DML operation inside a query

是由于oracle的事务造成的,查询的时候不允许与跟新插入的操作,可以在 return 类型is 后面添加 pragma  AUTONOMOUS_TRANSACTION; 并且在跟新语句下加上commit命令,就可以了

如:

508f3e14b52b504304546faaa65b7fd2.png

转载地址:http://xqhiv.baihongyu.com/

你可能感兴趣的文章
你其实没的选择
查看>>
编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习6
查看>>
C#笔试题收集
查看>>
ERROR 1290 (HY000): The MySQL server is running with&nbs
查看>>
我为什么要写博客
查看>>
成绩转换
查看>>
【Flutter】IOS打包
查看>>
5、路由协议原理
查看>>
linux常用命令2
查看>>
单变量微分、导数与链式法则
查看>>
《金婚》男人苦
查看>>
另一种阶乘问题
查看>>
《构建之法》阅读笔记(三)
查看>>
[LeetCode] 583. Delete Operation for Two Strings 两个字符串的删除操作
查看>>
博客园第一篇文章
查看>>
使用Log Parase 结合 Log Parase Studio 查询IIS日志
查看>>
前端知识面经
查看>>
Jquery获得服务器控件的方法
查看>>
css实现背景全透明样式
查看>>
@PathVariable获取带点参数,获取不全
查看>>