查表法生成流水号的示例.sql
2012-05-30 21:18
218 查看
--下面的代码生成长度为8的编号,编号以BH开头,其余6位为流水号。
--得到新编号的函数
CREATE FUNCTION f_NextBH()
RETURNS char(8)
AS
BEGIN
RETURN(SELECT 'BH'+RIGHT(1000001+ISNULL(RIGHT(MAX(BH),6),0),6) FROM tb WITH(XLOCK,PAGLOCK))
END
GO
--在表中应用函数
CREATE TABLE tb(
BH char(8) PRIMARY KEY DEFAULT dbo.f_NextBH(),
col int)
--插入资料
BEGIN TRAN
INSERT tb(col) VALUES(1)
INSERT tb(col) VALUES(2)
INSERT tb(col) VALUES(3)
DELETE tb WHERE col=3
INSERT tb(col) VALUES(4)
INSERT tb(BH,col) VALUES(dbo.f_NextBH(),14)
COMMIT TRAN
--显示结果
SELECT * FROM tb
/*--结果
BH col
---------------- -----------
BH000001 1
BH000002 2
BH000003 4
BH000004 14
--*/
--得到新编号的函数
CREATE FUNCTION f_NextBH()
RETURNS char(8)
AS
BEGIN
RETURN(SELECT 'BH'+RIGHT(1000001+ISNULL(RIGHT(MAX(BH),6),0),6) FROM tb WITH(XLOCK,PAGLOCK))
END
GO
--在表中应用函数
CREATE TABLE tb(
BH char(8) PRIMARY KEY DEFAULT dbo.f_NextBH(),
col int)
--插入资料
BEGIN TRAN
INSERT tb(col) VALUES(1)
INSERT tb(col) VALUES(2)
INSERT tb(col) VALUES(3)
DELETE tb WHERE col=3
INSERT tb(col) VALUES(4)
INSERT tb(BH,col) VALUES(dbo.f_NextBH(),14)
COMMIT TRAN
--显示结果
SELECT * FROM tb
/*--结果
BH col
---------------- -----------
BH000001 1
BH000002 2
BH000003 4
BH000004 14
--*/
相关文章推荐
- 查表法按日期生成流水号的示例.sql
- 使用编号表按日期生成流水号的示例.sql
- 使用编号表生成流水号的示例.sql
- 生成纯字母随机编号的示例(大小写混合).sql
- 彻底解决Ms sql server 2000中的最大流水号的生成问题
- SQL按照年月日生成流水号
- SQL 生成可配置流水号
- SQL生成包含年月日的流水号
- T-SQL 利用SQL语句动态生成 解构并插入表格内容 示例
- 生成报表表头SQL示例
- sql 生成流水号
- SQL生成流水号
- 自动生成流水号, sql 方式, class 方式, ( 有待完成)
- 生成纯字母随机编号的示例(仅大小或者小写).sql
- SQL学习----日期流水号生成
- SQL流水号生成语句
- SQL生成流水号
- SQL自动生成流水号
- SQL 生成可配置流水号
- Python SQL查询并生成json文件操作示例