2017-07-30 42 views
-1

我無法創建一個簡單的條件觸發器來將數據插入到新表中。下面是觸發器,其輸出:表上的條件觸發器

CREATE TRIGGER [dbo].[test_trigger] 
ON [dbo].[Export_Data] 
FOR INSERT 
AS 
BEGIN 
    INSERT INTO test (Terminal_ID, EmpIdentification, SwipeDateTime) 
     SELECT 
      DeviceId, UserId, LogDate 
     FROM 
      Inserted 
END 

輸出如下:

enter image description here

我的要求是,我需要的僅TERMINAL_ID = 32 &只有33日誌。

謝謝

+3

的StackOverflow是不是代碼的工廠,我們是不是免費的服務。 –

+0

觸發器是**高度特定於供應商的** - 所以請添加一個標籤以指定您是使用mysql,postgresql,sql-server,oracle還是db2或其他東西。 –

+0

@ satish-g,如果它對你有幫助,請接受答案。謝謝。 –

回答

2

剛從Inserted表中添加where子句的select語句。如果要插入Export_Data.DeviceIdtest.Terminal_ID,那麼你的過濾器應該是where Inserted.DeviceId in (32,33)

CREATE TRIGGER [dbo].[test_trigger] on [dbo].[Export_Data] 
for insert 
as 
begin 
    insert into test(Terminal_ID,EmpIdentification,SwipeDateTime) 
    select DeviceId,UserId,LogDate from Inserted 
    WHERE DeviceId in (32, 33) 
end 
+1

嗨,馬克斯,謝謝你。您的評論對我有幫助。 –

+0

嗨,最大,我有一個更多的查詢。我想使用Task Scheduler和sqlcmd將數據從一臺服務器推送到另一臺服務器。這裏是我用於sqlcmd.exe的參數: - -S「服務器IP,端口號\ SQLSERVER」-U用戶名-P密碼-d數據庫-Q「exec data_export」。我想要推送的服務器使用自定義端口。請指導我,因爲我可以使用data_export過程手動導出。但我想使用任務計劃程序自動執行此操作。 –

+0

請幫忙解決它。 –