Ben SQL Server 2000'de bir tabloda bir tetikleyici var, bu tetikleyicisi:SQL Server 2000 Tek takın Tetik Davranış Recursive gibi
ŞimdiALTER Trigger [dbo].[Set_Asignado_State] ON [dbo].[Tables]
FOR INSERT AS
BEGIN
DECLARE @area varchar(1)
SELECT @area = Table_Area_ID FROM inserted
IF (@area = 'L')
BEGIN
INSERT INTO Table_History
SELECT (SELECT TOP 1 Table_Area_Id AS Table_Area_Id FROM inserted) AS Table_Area_Id,
(SELECT SUBSTRING(CAST(YEAR(GETDATE()) AS VARCHAR), 3, 2)) AS Table_Year,
(SELECT TOP 1 Table_Seq AS Table_Seq FROM inserted) AS Table_Seq,
(SELECT TOP 1 ID FROM Table_Status WHERE Description = 'Asignado') AS Status,
'' AS Responsible,
(SELECT TOP 1 OrigDept FROM inserted) AS User_Responsible,
GETDATE() AS [DateTime],
'None' AS Comments
FROM Tables
WHERE Tables.Table_Area_Id = (SELECT TOP 1 Table_Area_Id AS Table_Area_Id FROM inserted) AND
Tables.Table_Year = (SELECT SUBSTRING(CAST(YEAR(GETDATE()) AS VARCHAR), 3, 2))
IF @@ERROR <> 0
BEGIN
DECLARE @errorMsg NVARCHAR(256)
SET @errorMsg = @@ERROR;
PRINT 'Error Inserting in Table_History'
END
END
END
, onlar "Tablolar" rekor eklediğinizde, Tetik denir ama Table_History'de birçok kayıt eklemeye devam eder.
Akranlarımla konuştum ve yanlış bir şey yok gibi görünüyor! = S Bu konuda herhangi bir ipucu var mı? Yanlış bir şey mi yapıyorum? peşin
sayesinde =)
@Hugo: belki de ne yapması gerektiğini kelimelerle açıklayabilirdiniz? –
Makas ile çalışıyor ... – dkretz
Anlaşılan, ancak birisi çalıştırmak istiyorsa, olası yan etkileri en aza indirmelerine yardımcı olmalıyız –