触发器,在数据库里自动生成TimeTamp的触发器

求一个 触发器,在数据库里自动生成TimeTamp的触发器


数据库中有一个字段为TimesTamp,我希望插入一个触发器可以自动插入TimesTamp。

TimesTamp的格式为nvchar(20),希望是一个由日期转换成的数字。

TimesTamp的格式:2014-1-1 10:20:30 就转换成 20140101102030。

如果这个TimesTamp在库中已经存在,则在最后+1 ,以上列为列值为 20140101102031

直至 这个TimesTamp 在数据库中保持唯一性。


------解决方案--------------------


 
create function [dbo].[dtdecimal](@datetime datetime) 
returns nvarchar(20)
as
begin
  declare @res nvarchar(20)
  declare @tmp nvarchar(20)

  set @res = convert(nvarchar(20), @datetime, 21)
  set @res=replace(@res,'-','')
  set @res=replace(@res,':','')
  set @res=replace(@res,' ','')
  set @res=replace(@res,'.','')

  if (select @tmp = max(主键名) from 表 where 主键名 like ''@res'%''') is not null
    set @res = @tmp + '1' 
  returns @res 
end