可以计数了 但只是停留在NodeId 是3和4两个值的时候的,如果多了这个写肯定不行,下面的IF不知道用的对不对如果有两个数组
a1(1,3,4,6)
b1(2,7,8,9)
再者如果 @noie等于数组a1中其中的一个数字 就给@indexq赋0000141003/, 如果等于b1中其中的一个数字就给@indexq赋0000141004/,如果@noie的值在a1或b2中都没有,就不执行蓝色的语句!如何定义这两个数组,下面红色的赋值语句应该怎么写.还有我觉的用这种方法赋值比较笨,有没有先进一点的方法,请帮助我!全部代码:
create trigger [dbo].[Trigger2]
ON [dbo].[au_Content]   
FOR Insert
AS
begin
 declare @noid as varchar(3)
 select @noid = NodeId from inserted
 declare @id as int
 select @id = ID from inserted
 declare @fuhao as char(1)
 select @fuhao='-'
 declare @indexq as varchar(11)
 
 if @noid = '3'
  begin
  select @indexq ='0000141003/'
 end
 if @noid = '4'
  begin
  select @indexq ='0000141004/'
 end
 
 if len(@indexq)>1
 begin
  declare @number as varchar(20)
  select @number = isnull(cast(right(max(IndexNo),5) as int),0)+1 from au_Content where IndexNo like @indexq + convert(varchar(4),getdate(),112)+'%'  set @number=right('0000'+@number,5);
  update dbo.au_Content set IndexNo = @indexq+ convert(varchar(4),getdate(),112) + @fuhao + right(@number,5) where ID=@id end

end