本文主题是写一个系统内部各个表中通用的存储过程,返回一个为各个表通用的流水帐号

--第一步
-- 建立一个通用的表结构,用来存储系统中的各个表的名字,主键,以及该表的开头的字符,和该表当前最大的值
create table app_dj_parameter
(
dj_id int identity(1,1) primary key,
dj_name nvarchar(20),--表的中文名
dj_no_prefix nvarchar(5),--表开头的字符
table_name nvarchar(30),--表的英文名
dj_no_length int, --设置流水帐号的长度
current_num int,--当前表中的最大值
)
--第二步,创建存储过程
drop proc dbo.GetNewDJNO
go
create PROCEDURE dbo.GetNewDJNO
@pTableName nvarchar(60),
@pNewDjNo   nvarchar(60) output
with encryption
AS
BEGIN
set nocount on;declare @prefix nvarchar(20);
declare @length int;
declare @newnum int;begin try
--1:
--编号表当前编号自身+1
Update app_dj_parameter set current_num = current_num + 1 where head_table_name = @pTableName;--2:
--取出前缀,长度,当前的个数
Select
top 1
@prefix = dj_no_prefix
,@length = dj_no_length
,@newnum = current_num
from app_dj_parameter
where head_table_name = @pTableName
order by show_order--3:
--其中0的个数根据总长度dj_no_length来定。
--如果dj_no_length=10, dj_no_prefix=’CG’, 返回的编号为:CG00000021(总共10位)。
SELECT @pNewDjNo = @prefix + replicate('0',@length - len(@newnum)-len(@prefix) ) + cast(@newnum as varchar(10));
end try
begin catch
select ''
end catch
END
--第三步,每次表中插入一条数据的时候,同时更新app_dj_parameter表中的current_num字段

关于系统中的流水帐号相关推荐

  1. SQL2000中默认sa帐号改名和删除的最安全方法

    SQL2000中默认sa帐号改名和删除的最安全方法 from:[url]http://bbs.51cto.com/thread-407159-1-1.html[/url]众所周知,在M$sql中有个绝 ...

  2. Ubuntu 中启用 root 帐号

    参考:http://linuxtoy.org/archives/howto_enable_ubuntu_root_account.html 如果你实在需要在 Ubuntu 中启用 root 帐号的话, ...

  3. Windows Server 2008 R2中的托管服务帐号(MSA)-冯立亮

    Windows Server 2008 R2中的托管服务帐号(MSA) 在现代化的企业中,计算机网络占据了重中之重的地位,越来越多的企业核心业务依附于计算机网络架构,例如:往来电子邮件,文件共享,即时 ...

  4. 增加计算机用户名和密码,win7系统如何新增用户帐号

    Windows系统可以分配多个用户分别进行使用.那么win7系统如何新增用户帐号呢?学习啦小编分享了win7系统新增用户帐号的方法,希望对大家有所帮助. win7系统新增用户帐号方法一:进入控制面板增 ...

  5. 如何从路由器中查找ADSL帐号 [2007年4月13日]

    今天去取自己接手维护的一家店面维护网络,需要查看路由器的信息和接手那里的ADSL帐号.但是非常让我郁闷的是那里的网管吧ADSL帐号忘记了,虽然我可以通过路由器的用户名登录进去看到帐号,但是不知道密码也 ...

  6. 如何启用 Ubuntu 中的 root 帐号

    执行下面的操作: sudo passwd root 此命令将会重新设置 root 的密码,按照提示输入新的密码,并加以确认. 之后,重启系统时,就可以用 root 登录了. 如果你想要禁用 root ...

  7. linux新建用户不显示,linux系统无法添加用户帐号的原因分析

    生产环境配置: 操作系统: CentOS 6.6 1.产生的问题: 在使用useradd命令添加帐号(的)时候出现"seradd:cannotopen /etc/passwd" [ ...

  8. 风铃系统中,微信公众号服务平台如何搭建?

    2019独角兽企业重金招聘Python工程师标准>>> 据@管鹏前些天参加腾讯大渝网的腾讯区域门户微信沙龙活动得到的消息,腾讯将推出官方的微信公众平台开发工具--"腾讯风铃 ...

  9. linux账号安全管理,保证Linux系统安全——帐号管理

    不论是Windows操做系统仍是Linux操做系统,想要登陆系统必需要有合法的帐户及密码.本篇博文主要介绍Linux系统下的帐户信息.web 博文大纲: 1.Linux系统的帐号及群组 1.UID与G ...

最新文章

  1. html仿百度页面代码_百度优化需要注意的4点
  2. 说说对javaee中的session的理解
  3. Windows 下 Git 的安装及如何与码云协作
  4. php 进行http请求,php模拟http请求的两种方式
  5. GIS-python学习
  6. aqara (737) -(a俩)_绿米与万科合作?Aqara线下服务商500家,合作有保障
  7. unity 给模型绑定骨骼_五年游戏建模实战经验,总结了一套项目模型规范及制作的注意事项...
  8. Python竟然可以玩转微信emoji
  9. oracle的解释计划,oracle解释执行计划-Oracle
  10. win10连接win7共享打印机(win10连接win7共享打印机)
  11. mingw32 编译 fastdb
  12. 计算机标准体重计算公式,项目2:就拿胖子说事---(2)计算出标准体重,当超重时,请给出提示...
  13. 《Hud 2589》Phalanx详解
  14. r7c刷机android6.0,OPPO R7电信版R7c官方固件刷机包rom线刷包(Root权限+驱动)
  15. Kylin快速入门系列(6) | 如何通过Zepplin来访问Kylin服务
  16. 渲染吃CPU还是显卡呢?未来是否新睿云的云渲染会大行其道呢?
  17. 微信公众平台网页授权
  18. 前端使用sockJs进行聊天通讯的功能
  19. 进销存系统单号算号器
  20. firefox vlc插件_vue视频插件VLC

热门文章

  1. mysql取utc时间格式_mysql 获取昨天数据 utc时间
  2. sqlyog设置简体中文_MySQL工具之SQLYog下载、安装和配置
  3. PC 简洁云盘搜索工具1.0下载(WINS版本)
  4. 车辆超速监控系统c语言编程,c语言车辆违章管理系统
  5. 气动旋转接头如何使用
  6. Invalid content was found starting with element ‘{“http://xmlns.jcp.org/xml/ns/javaee“:init-param}‘.
  7. 技术前沿与经典文章18:历史上54位伟大物理学家、科学家的专属LOGO(四)
  8. 跨链协议LayerZero和Gh0stly Gh0sts幽灵NFT技术原理分析
  9. 关于【finder不能完成该操作 因为未能读取或写入文件名中的某些数据(错误代码-36)】快速解决办法----本人备注
  10. 三相三线STATCOM仿真模型。无功电流采用ipiq检测,pwm采用滞环控制。