SQL Server 存储过程自定义生成ID号

 1 IF EXISTS(SELECT TOP 1 * FROM sys.tables WHERE name=N'EmployeeNo_Identity')
 2     DROP TABLE EmployeeNo_Identity
 3 GO
 4 
 5 CREATE TABLE EmployeeNo_Identity(
 6     ID BIGINT NOT NULL IDENTITY(1000000,1) PRIMARY KEY,
 7     CreateDate DATETIME DEFAULT(GETDATE())
 8 )
 9 
10 
11 IF EXISTS(SELECT TOP 1 * FROM SYS.procedures WHERE name=N'proc_Build_Employee_ID')
12     DROP PROC proc_Build_Employee_ID
13 GO
14 
15 CREATE PROC proc_Build_Employee_ID
16     @prefix NCHAR(1),
17     @result nvarchar(8) OUT
18 AS
19 BEGIN
20     DECLARE @id BIGINT
21     INSERT INTO EmployeeNo_Identity(CreateDate) VALUES(GETDATE())
22     SELECT @id=MAX(ID) FROM EmployeeNo_Identity NOLOCK
23     DELETE EmployeeNo_Identity
24     SET @result=CAST( @prefix+CONVERT(NVARCHAR(7),@id) AS NVARCHAR(8))
25 END
26 GO
27 
28 
29 /** 调用 **/
30 DECLARE @result NVARCHAR(8)
31 EXEC    [dbo].[proc_Build_Employee_ID]
32         @prefix = N'E',
33         @result=@result OUT
34 SELECT    @result

 

转载于:https://www.cnblogs.com/oceanho/p/4972674.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值