建立存储过程 ID 自动添加 yymmdd+四位序列

原创 2006年06月21日 12:44:00

建立表


CREATE TABLE [dbo].[Tab] (
 [ID] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
 [IDName] [char] (10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO

建立存储过程

ID 自动添加 yymmdd+四位序列

如:0601110001,06010110002,0601220001...

Create procedure sp_CreateID
@IDName char(10),
@Ret_err int=0 output
as

declare @ID char(10)
Select top 1 @ID =ID from tab
where left(ID,6)= replace(convert(char(10),getdate(),2),'.','')
order by ID desc
if (@ID is not null)
 begin
   set @ID = replace(convert(char(10),getdate(),2),'.','')+right(10001+@ID,4)
   select @Ret_err=0
 end
else
 begin
    set @ID =replace(convert(char(10),getdate(),2),'.','')+'0001'
    select @Ret_err=1
 
 end

insert into tab(ID,IDName) values(@ID,@IDName)
go

测试:

declare @Ret as int
exec sp_CreateID '姓名' ,@Ret output
print @Ret

相关文章推荐

通用获取父节点/子节点/子节点下所有节点ID的存储过程

利用储存过程实现create proc [dbo].[Local_Navigate]( @Type varchar(20), -- parent/sub/all ...
  • aqgsh
  • aqgsh
  • 2013年01月11日 15:30
  • 1117

存储过程自动生成项目编号

  • 2013年11月01日 12:30
  • 2KB
  • 下载

sql server存储过程实例:统计一段时间内各连续ID的价格合计

有一个表如下:  ID     saleDate   Price  1      2008-1-1   40  2      2008-1-1   50  3      2008-1-2   ...

SocanCode(自动生成存储过程)

  • 2012年04月28日 20:41
  • 3.11MB
  • 下载

row_number over(order by id desc)语句进行存储过程高效分页,百度分页(1,2,3,4,5....)

模仿百度分页示意效果图: sql procdure code: create   proc [dbo].[MyPages](  @tableName varchar(155),  @pag...

sqlserver根据输入的两个点表中的ID号,插入一条线的记录到线表的存储过程

------------------------------------------------------------------------ --功能说明:根据一个表中的两行的主键,把这两行的信...
  • angxiao
  • angxiao
  • 2012年05月16日 15:30
  • 954
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:建立存储过程 ID 自动添加 yymmdd+四位序列
举报原因:
原因补充:

(最多只允许输入30个字)