sql2008 触发器

请教:
sql2008里面,当插入数据时并且本条数据里某一字段比如(weight)大于零时用触发器如何按日期和序号自动产生流水号,比如在Treedb表里面有四个字段:ID(自动增加),riqi(日期),liuishuihao(流水号),weight(重量),每次增加数据的时候自动产生流水号比如20230707000001每天序号从1开始自增。谢谢!


CREATE TRIGGER trg
ON Treedb
AFTER INSERT
AS
BEGIN
   DECLARE @dateStr varchar(8)
   DECLARE @serialNo int
   SET @dateStr = CONVERT(varchar(8), GETDATE(), 12)
   SELECT @serialNo = MAX(liuishuihao)
   FROM Treedb
   WHERE riqi = @dateStr

   IF @serialNo IS NULL
   BEGIN
      SET @serialNo = 1
   END
   ELSE
   BEGIN
      SET @serialNo = @serialNo + 1
   END

   UPDATE Treedb
   SET liuishuihao = @dateStr + RIGHT('000000' + CAST(@serialNo as varchar(6)), 6)
   WHERE ID IN (SELECT ID FROM inserted)
END