sqlserver的主键生成器

 题目:设计主键生成存储过程

一个业务表应该有主键,对于主键的处理可以采用表的identity
列,来生成自动增长的主键。但是对于复杂的业务表,如果使用
这样的方式,那么主键的作用就太小了,我们应该让主键承担更
重要的含义。
比如:一个行的主键位15,我们不能知道这个主键值代表什么含义。
      但是如果一个主键为PO0508110004,我们就可以知道PO代表
      采购订单,0508代表2005年8月11日,0004代表当天第四号单据。

我们把前两个字母PO称为字轨,所以一个业务主键应该有以下结构:

字轨+日期+序号

请设计一个支持表以及一个存储过程来完成主键的生成;

 

参考答案:
请使用查询分析器运行

--drop table MyRecordNo

use pubs
go

/*
create table MyRecordNo(
  mrn_tablename varchar(20) not null primary key,
  mrn_sign varchar(2) null,
  mrn_lastno int not null,
  mrn_lastdate datetime not null
)

 

*/
go
--------------------------------------------------

drop PROCEDURE getBillNo 

go

CREATE PROCEDURE getBillNo  @tablename varchar(20), @billno varchar(20)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值