首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

ORACLE不能执行这样子的函数吗?解决办法

2012-04-08 
ORACLE不能执行这样子的函数吗?SQL codecreate or replace function Get_SeqIdreturn integerisV_SEQID IN

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语句。
[解决办法]
探讨
在Oracle自定义函数中不允许执行DML语句。

热点排行