博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL中的字符串字段根据某字段实现自增
阅读量:5728 次
发布时间:2019-06-18

本文共 1107 字,大约阅读时间需要 3 分钟。

--下面的代码生成长度为12的编号,编号以BH开头,前四位数字为col字段,其余6位为流水号。--得到新编号的函数alter FUNCTION f(@col int)RETURNS char(12)ASBEGIN    RETURN(SELECT 'BH'+RIGHT(10000+@col,4)+RIGHT(1000001+ISNULL(RIGHT(MAX(BH),6),0),6) FROM tb WITH(XLOCK,PAGLOCK) where col=@col) ENDGO--在表中应用函数drop table tb;CREATE TABLE tb(BH char(12) PRIMARY KEY,col int not null)--插入资料BEGIN TRAN    INSERT tb(BH,col) VALUES(dbo.f(1),1)    INSERT tb(BH,col) VALUES(dbo.f(2),2)    INSERT tb(BH,col) VALUES(dbo.f(3),3)    INSERT tb(BH,col) VALUES(dbo.f(4),4)    INSERT tb(BH,col) VALUES(dbo.f(1),1)    INSERT tb(BH,col) VALUES(dbo.f(1),1)    INSERT tb(BH,col) VALUES(dbo.f(1),1)    INSERT tb(BH,col) VALUES(dbo.f(2),2)    INSERT tb(BH,col) VALUES(dbo.f(2),2)    INSERT tb(BH,col) VALUES((SELECT 'BH'+RIGHT(10000+2,4)+RIGHT(1000001+ISNULL(RIGHT(MAX(BH),6),0),6) FROM tb WITH(XLOCK,PAGLOCK) where col=2) ,2)COMMIT TRAN--显示结果SELECT * FROM tb/*结果BH0001000001    1BH0001000002    1BH0001000003    1BH0001000004    1BH0002000001    2BH0002000002    2BH0002000003    2BH0002000004    2BH0003000001    3BH0004000001    4*/

 

转载于:https://www.cnblogs.com/ding2011/p/10557407.html

你可能感兴趣的文章
PS 如何使用液化工具给人物减肥
查看>>
cvc-complex-type.2.4.c: The matching wildcard...
查看>>
android 读取json数据(遍历JSONObject和JSONArray)
查看>>
pyjamas build AJAX apps in Python (like Google did for Java)
查看>>
<JavaScript语言精粹>-读书笔记(一)
查看>>
NPM教程
查看>>
Java学习笔记(40)——Java集合12之fail-fast
查看>>
Centos 配置IP的方式
查看>>
Go 的吉祥物,萌不萌
查看>>
【iOS】AFN网络请求通过获取cookies保持会话
查看>>
Java 的swing.GroupLayout布局管理器的使用方法和实例
查看>>
Android中Activity和Fragment的生命周期的对比
查看>>
C++Primer_笔记_异常处理
查看>>
分区交换 alter table exchange partition 在线表 历史表交换
查看>>
思科三层交换 HSRP 热备 配置方法
查看>>
zabbix详解:(二)添加被监控机器
查看>>
设计模式单列
查看>>
人像模式的灯光效果?iPhone 8开挂袭来
查看>>
Linux下MongoDB安装与配置
查看>>
DSL配置(PPPOA)
查看>>