我有一個查詢,我試圖測試。如果查詢使用現有主鍵在表中找到數據,則該查詢應更新數據。如果沒有,則插入表格中。合併,當匹配查詢給出錯誤sql服務器
主鍵的類型爲int,在我可以看到的屬性中,Identity被設置爲「True」,我假設它表示如果插入主鍵,它將自動設置主鍵的新ID。
MERGE INTO Test_table t
USING (SELECT 461232 ID,'Test1-data' Fascia FROM Test_table) s
ON (t.ID = s.ID)
WHEN MATCHED THEN
UPDATE SET t.Fascia = s.Fascia
WHEN NOT MATCHED THEN
INSERT (Fascia)
VALUES (s.Fascia);
這裏的問題是這個查詢不起作用,它永遠不會插入數據或更新。此外,查詢被編譯,我沒有得到任何編譯錯誤
而且我想原因該查詢工作,因爲那時我會用JAVA編寫的語句來查詢數據庫,所以我假設我可以做
SELECT ? ID,? Fascia FROM Test_table
這樣我就可以用java中的set方法傳遞值。
請讓我知道我的查詢是否有問題。
「這裏的問題是這個查詢不起作用」。等我拿起我的水晶球去弄清楚什麼是錯的時候,請繼續。 「查詢提供錯誤」那麼,那麼錯誤是什麼,爲什麼我們在黑暗中如果你想要我們的幫助? – HoneyBadger
@HoneyBadger我不會離開你在黑暗中......查詢不會更新或插入,但它會得到執行沒有任何錯誤。更新的問題。 – user3384231