ORACLE不能执行这样子的函数吗?
- SQL code
create or replace function Get_SeqIdreturn integeris V_SEQID INTEGER;begin update tab_autonumber set FLDCOUNTD = FLDCOUNTD + 1 where fldidnos = 'TB_BARSCANDATA' and FieldName = 'SEQID'; select FLDCOUNTD into V_SEQID from tab_autonumber where fldidnos = 'TB_BARSCANDATA' and FieldName = 'SEQID'; return V_SEQID;end Get_SeqId;
怎么在update tab_autonumber set FLDCOUNTD = FLDCOUNTD + 1 中会提示出错
[解决办法]
函数是没问题的!就是不知道你函数中涉及到表,或者列是否问题!类型不匹配啊,还是当前用户下面就没有你要修改的这张表,我这里就不得而知了!需要你,一句一句,执行成功了!在拷贝到你函数中试试!
[解决办法]
这个语法肯定没问题 确定一点 你的FLDCOUNTD都是number类型吗?是不是还有什么其他类型或者空值的列?
[解决办法]
函数中不允许增删改 要做用过程
[解决办法]
在Oracle自定义函数中不允许执行DML语句。
[解决办法]