生成流水号问题

柳泉青云 2007-08-27 05:26:52
怎样生成这样的流水号
11111111-111112013010101
11111111-111112013010102
11111111-111112013010103
11111111-11111201301010...


或者
11111111-11111W513010101
11111111-11111W513010102
11111111-11111W513010103
11111111-11111W51301010..

作为主键,所以不能重复
删除后,得从头开始
比如:11111111-11111W513010102
下次新增时从11111111-11111W513010101开始
在WebFrom上点新增后生成
请高手帮忙
...全文
267 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
songle912 2007-08-27
  • 打赏
  • 举报
回复
每次新增前到数据库里查询最大的就OK了
绝代坏坏 2007-08-27
  • 打赏
  • 举报
回复
自己写函数呀
柳泉青云 2007-08-27
  • 打赏
  • 举报
回复
要求这样没办法
柳泉青云 2007-08-27
  • 打赏
  • 举报
回复
好的,谢谢,我试试
kinglht 2007-08-27
  • 打赏
  • 举报
回复
Object_Delusion(梦飞翔) ( ) 信誉:100 2007-08-27 17:41:14 得分: 0


如果删除第二条记录,比如:
11111111-11111W513010101
11111111-11111W513010102
11111111-11111W513010103
中的11111111-11111W513010102
下次点新增时要从11111111-11111W513010101开始


你这样做,如果加到3的时候不是会冲突了吗?干吗一定要从原来的开始呢?
kinglht 2007-08-27
  • 打赏
  • 举报
回复
调用的时候:
select NEW_CARD_AUTH_SERIAL('w513') from dual;
kinglht 2007-08-27
  • 打赏
  • 举报
回复
CREATE OR REPLACE FUNCTION NEW_SERIAL (ss in varchar2)
RETURN VARCHAR2 IS
RESULT VARCHAR2(26);
BEGIN
SELECT 11111111-11111||ss||
TO_CHAR(test_SEQ.NEXTVAL, 'fm000000')
INTO RESULT
FROM DUAL;
RETURN(RESULT);
END NEW_SERIAL;

test_SEQ可以根据需要初始化一下!
柳泉青云 2007-08-27
  • 打赏
  • 举报
回复
如果删除第二条记录,比如:
11111111-11111W513010101
11111111-11111W513010102
11111111-11111W513010103
中的11111111-11111W513010102
下次点新增时要从11111111-11111W513010101开始
柳泉青云 2007-08-27
  • 打赏
  • 举报
回复
我用的是sq12000
kinglht 2007-08-27
  • 打赏
  • 举报
回复
oracle里可以建个sequence,初始值为513010101,然后递增就可以了:
SELECT '11111111-11111W'|| --当前时间
TO_CHAR(COMMON_SEQ.NEXTVAL)
FROM DUAL;

但不知道你说的删除是什么意思
比如此时有
11111111-11111W513010101
11111111-11111W513010102
11111111-11111W513010103

这时候删除11111111-11111W513010102,然后你想从什么地方开始??
柳泉青云 2007-08-27
  • 打赏
  • 举报
回复
我想写一个通用的,因为不止生成一种,是多种;
不过前几位不变:
怎样生成这样的流水号
11111111-111112013010101
11111111-111112013010102
11111111-111112013010103
11111111-11111201301010...


或者
11111111-11111W513010101
11111111-11111W513010102
11111111-11111W513010103
11111111-11111W51301010..

是写个存储过程好呢,函数写个clsss或方法
wuhan_dotnet 2007-08-27
  • 打赏
  • 举报
回复
字符串拼接?
柳泉青云 2007-08-27
  • 打赏
  • 举报
回复
11111111-11111 W513010101
11111111-11111后面可以是8位:
前四位固定W513,后四位可以是:1001,1002。。。
foyuan 2007-08-27
  • 打赏
  • 举报
回复
前面弄一个前缀
比如 11111111-11111W

后面弄一个基数 比如 50005000

然后for循环 给数字+1
然后和前缀相加 返回就OK了
功能包含标注、文本、路径、颜色、画板、包装、拼板、设计、输出和效果等大类,常用功能如:标注横尺寸,标注纵尺寸,标注尺寸,轻松画包装1,轻松画包装2,天地盖盒子,绘制手提袋,绘制外箱,生成出血线,文本段落分行,段落行合并,文本段落转换,单行拆单字,字体转曲,大小写转换,查找专色,两者换位,选择导出-PSD,导出jpg,选择导出jpg,选择增强,随机填色,圆角插件,锚点分割路径,等分路径,建立等分圆,测量路径长度,点到点连线,节点延伸,解锁全部对象,统一画板尺寸,当前画板矩形,全部画板矩形,垂直两分,水平两分,插入页码等,多图层转多画板,页面适配对象,裁切标记,印前角线,一键拼版,自动拼版,阵列复制,标记线生成,创建参考线,打开多页PDF,置入PDF多页面,条形码及二维码,色标生成器,移除叠印属性,移除非纯黑叠印,解散全部群组,批量替换链接图,链接文件打包,全部颜色转黑,查找白色叠印,删除所有蒙版,正则编辑文本,流水号生成器,统计所选对象,。 作者会持续更新,如果您有需要的功能,可以给作者留言,作者闲时进行制作。欢迎下载使用,安装完毕之后,在窗口菜单>扩展>知了插件,打开即可使用。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧