免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2918 | 回复: 0
打印 上一主题 下一主题

请问如何生成流水号,高手帮忙给个function的代码 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-09-06 11:02 |只看该作者 |倒序浏览
问题比较麻烦,需要跟其他程序共享一个流水序列,那个程序已经上线
他的实现方式是一个表里有一行数据

表结构为:
CREATE TABLE xyw.tbl_flow_code (
  flow_code_type CHAR(,
  create_time CHAR(19),
  flow_code int)

要求每天第一笔业务更新create_time字段为当天日期,否则顺序加1flow_code,主要得考虑并发的问题
我的任务是写一个存储过程,由其他程序调用,但是似乎informix的存储过程带返回参数的时候在windows下其他程序(VC)调用总是有问题,
我曾经试图用function通过select方式调用,但是function里不能包含update,有没有能用funtion来实现的方法????


我的想法
1、create procedure pro_get(type char()
returning char(40);
define v_ret char(40);
define v_flowcode int;
………………
begin work;
select create time;
if create_time=current then
else
end if
commit work;
let v_ret=type||v_flowcode
return v_ret;
end proc


2、create function func_get(type char()
returning char(40);
define v_ret char(40);
let v_ret=proc_get(type);
return v_ret;
end func

可是还是报 -675 的错误,急,求救!!!

[ 本帖最后由 SexyPipe 于 2007-9-6 11:06 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP