我需要編寫基於以下條件觸發到表
觸發器表中插入一條記錄之前刪除之前重複的記錄,我需要一個列的值進行比較,以現有的記錄,並如果找到記錄,那麼我需要刪除已有記錄中具有相同列值的那些記錄,然後需要插入新記錄。
請讓我知道如何做到這一點。
感謝
我需要編寫基於以下條件觸發到表
觸發器表中插入一條記錄之前刪除之前重複的記錄,我需要一個列的值進行比較,以現有的記錄,並如果找到記錄,那麼我需要刪除已有記錄中具有相同列值的那些記錄,然後需要插入新記錄。
請讓我知道如何做到這一點。
感謝
CREATE TRIGGER [dbo].[CustomInsert_Trigger] ON [dbo].[Realtimebookingcount] INSTEAD OF INSERT AS BEGIN DECLARE @Flag INT SELECT @Flag = Booking_NUM FROM inserted IF (SELECT COUNT(1) FROM Realtimebookingcount WHERE Booking_NUM = @Flag) > 0 BEGIN DELETE FROM Realtimebookingcount WHERE Realtimebookingcount.Booking_NUM = @Flag END INSERT INTO Realtimebookingcount SELECT * FROM inserted END
非常感謝您Ram,我在表格Realtimebookingcount中有Booking_NUM列,我們通過webservices插入記錄,並且需要確保沒有先前的記錄具有相同的booking_number.if是的,那麼我們需要刪除這些記錄表,然後插入新的記錄。我們無法在該表上創建新列。所以請讓我知道您對此要求的寶貴建議。 – user3347314
希望這會有所幫助 –
非常感謝你Ram幫助我,讓我在我們的服務器上測試一次,然後我會讓你知道成功 – user3347314
這聽起來像一個工作,一個**的存儲過程**,你打電話給插入你的數據 - ** **不觸發.... –
馬克,我們是有一些Web服務將數據插入到這個表中,我們不能控制這個數據的插入,所以想要創建一個觸發器,在插入一條記錄之前從表中刪除記錄,如果一列在已有記錄中具有相同的值,我們需要刪除這些現有記錄,然後插入新記錄。 – user3347314