2015-01-08 39 views
1

我有工作如下一個SQL Server存儲過程:SQL SERVER ODBC到MYSQL twin記錄不同?

2015-01-06 11:49:40 1 
    2015-01-06 11:49:39 2 

CREATE PROCEDURE [MyStoreProcedure] 
(
    @manufacture_datetime DATETIME, 
    @string as varchar(4) 
) 
AS 
    BEGIN 

    ..... 
    insert into openquery([odbcsource],'select * from mytable') (manufacture_datetime,number) values (@manufacture_datetime,1) 
    insert into openquery([odbcsource],'select * from mytable') (manufacture_datetime,number) values (@manufacture_datetime,2) 
    ..... 

程序完美的作品我幾乎所有的服務器,但是我發現一個服務器在哪裏零星此插入作爲結束有什麼想法可以導致這個雙胞胎記錄有1秒的差異?到目前爲止,我認爲也許毫秒級的東西正在搞點東西,但這似乎是一個長鏡頭。

回答

0

這是奇怪的行爲,有可能你有一些觸發器,將manufacture_datetime設置爲MySQL端的當前時間?你有沒有試圖用一個插入而不是兩個插入?

insert into openquery([odbcsource],'select * from mytable') (
    manufacture_datetime,number 
) 
select 
    @manufacture_datetime, v.number 
from (values (1), (2)) as v(number) 
+0

我還沒有嘗試過只使用一個插入,我將明確地給出一個嘗試。在觸發器上,timestamp變量實際上是在創建記錄約30秒時進行偏移的。並且桌子上沒有觸發器:( –