以 Trigger 实现 ID 自动编号

   Sql Server 的自动编号用的是16位的长整形字段,我欲以一个4为长的整形数来实现自动编号,用触发器实现之。

  Qxk 表有一个字段 ID,就以它实现自动编号。

None.gif CREATE   TRIGGER  atuo_id  ON  dbo.qxk 
None.gif
FOR   INSERT
None.gif
AS
None.gif
declare   @m   int
None.gif
declare  get_last  cursor  scroll dynamic  for  
None.gif    
select  id  from  qxk  where   [ id ]   is   null  
None.gif    
for   update
None.gif
None.gif
select   @m   =   max ( [ id ] from  qxk
None.gif
if ( @m   is   null  )  set   @m = 1
None.gif
else   set   @m   =   @m   +   1
None.gif
None.gif
open  get_last
None.gif
fetch  last  from  get_last
None.gif
update  qxk  set   [ id ]   =   @m   
None.gif    
where   current   of  get_last
None.gif
None.gif
close  get_last
None.gif
deallocate  get_last
None.gif

转载于:https://www.cnblogs.com/feixian49/archive/2007/02/25/656171.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值