IF EXISTS (SELECT name FROM sysobjects WHERE name = N'AXI_AttrXX_Number' AND type = 'TR') DROP TRIGGER AXI_AttrXX_Number GO CREATE TRIGGER [dbo].[AXI_AttrXX_Number] ON [dbo].[AttrXX] with execute as owner FOR INSERT AS BEGIN if (select trigger_nestlevel())>1 return set nocount on; -- 1.2. Присвоение номера Продаже в зависимости от юр.лица 000001 UPDATE T SET p880 = (SELECT REPLICATE('0', 6 - DATALENGTH(CAST(isNull(MAX(CAST(LEFT(N.p880,6) as int)),0)+1 as varchar))) + CAST(isNull(MAX(CAST(LEFT(N.p880,6) as int)),0)+1 as varchar) --нумерация 1,2,3... --(SELECT (isNull(MAX(CAST(N.p388 as int)),0)+1) FROM Attr113 N WHERE N.ObjectID <> T.ObjectID AND N.p852=T.p852 --в завистимости от юр.лица and isNumeric(N.p880) = 1 ) FROM Attr113 T JOIN inserted i ON i.ObjectID = T.ObjectID end