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

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

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

相关文章:

  • 2021-12-27
  • 2022-12-23
  • 2021-12-02
  • 2021-08-13
  • 2022-12-23
  • 2022-12-23
  • 2022-02-17
猜你喜欢
  • 2022-12-23
  • 2022-03-02
  • 2021-11-17
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案