db2自定义函数错误

以下为db2的自定义函数,报错:

消息: "NEXTVAL FOR DB2INST1.SEQ_SERIAL" cannot be specified in this context.. SQLCODE=-348, SQLSTATE=428F9, DRIVER=3.50.152

请各位大神帮忙看一下,谢谢

CREATE FUNCTION DB2INST1.GETID(pre varchar(100) default 'C')
 returns varchar(100)
 LANGUAGE SQL
 begin ATOMIC
  declare myret varchar(100);
  set myret=(select '000000000000000000000' || nextval for DB2INST1.seq_serial from SYSIBM.SYSDUMMY1);  
  set myret = substr(myret,length(myret)-7);
  set myret = pre || myret;
  return myret;
 end
GO
参与5

1同行回答

y5_sety5_set其它不告诉你
这样写:CREATE FUNCTION DB2INST1.GETID(pre varchar(100) default \'C\')      returns varchar(100)      LANGUAGE SQL      begin ATOMIC       declare myret varchar(1...显示全部

这样写:

CREATE FUNCTION DB2INST1.GETID(pre varchar(100) default \'C\')
     returns varchar(100)
     LANGUAGE SQL
     begin ATOMIC  
     declare myret varchar(100);
    set myret=\'000000000000000000000\' || nextval for DB2INST1.seq_serial;
      set myret = substr(myret,length(myret)-7);
    set myret = pre || myret;
    return myret;
   end;

收起
互联网服务 · 2015-11-30
浏览1574

提问者

jnzc
研发工程师浪潮

相关资料

问题状态

  • 发布时间:2015-11-29
  • 关注会员:3 人
  • 问题浏览:2536
  • 最近回答:2015-11-30
  • X社区推广