问题描述
解决方案
就是把自然数的卡号每65536个分成一个批次。
存储过程输入批号prmbatnum
,返回该批次中下个可用的卡号prmcardno
。
表base_customers
是已使用的卡号明细。
表base_batnum
记录每个批次的最大已使用卡号。
如果调用存储过程所得到的卡号不写到表base_customers
中,下次再调用会分配一样的卡号。
解决方案二:
这段代码就是根据参数取卡号的一个过程,中间判断了如果卡号已经存在,就把最大号加1
解决方案三:
调用proc_getcardno 传2个参数;
根据prmbatnum查询表的cardnum 赋值给prmcardno
判断prmcardno是否等于0或null这赋值1
判断prmcardno使用大于最大数不是加1是报错
查询 cardno等于 prmcardno+prmbatnum*65536的的记录数赋值vcount
判断vcount
后面的你都有讲解了
解决方案四:
各种功能 的 存储过程 (一)
时间: 2024-09-17 18:59:20