Sana örnek bir trigger vereyim mantığını anla. Sonuçta triger bir tabloda işlem olduğunda çalışır. Viewda çalışmaz diye biliyorum.
CREATE TRIGGER [dbo].[FATURAISLEMyasak_856]
ON [dbo].[LG_856_01_INVOICE]-- fatura tablosu etkilendiğinde çalışır.
AFTER INSERT, yasak
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @FNO AS NVARCHAR(50)
DECLARE @CLIENTREF AS INT
DECLARE @LREF AS INT
DECLARE @FTTIP AS INT
DECLARE @PREF AS INT
SELECT @LREF = LOGICALREF, @FNO = FICHENO, @CLIENTREF = CLIENTREF , @FTTIP = TRCODE, @PREF=PROJECTREF FROM inserted
if @FTTIP = 8 OR @FTTIP=1
begin
--yasak LG_856_01_INVOICE SET DOCODE = (SELECT dbo.ProjeHesapla856(@FNO )),
yasak LG_856_01_INVOICE SET --DOCODE = (SELECT CODE FROM LG_856_PROJECT WHERE LOGICALREF = @PREF ),
GENEXP1 = 'INV:'+ @FNO +'-'+(SELECT LEFT(DEFINITION_,33)FROM LG_856_CLCARD WHERE LOGICALREF = @CLIENTREF )
WHERE LOGICALREF =@LREF
end
END