原 TSQL 語法,是把欄位利用 + 串接在一起後,來進行資料比對,這一看就知道一定會 GG 的
INSERT INTO 工單領料順序 (................)
SELECT
.............................
FROM 派工工序 AS F
JOIN 派工單 AS S ON F.派工單號 = S.派工單號
WHERE
AND .............................
AND F.派工單 + F.派工工序 NOT IN
(
SELECT
派工單號 + 派工工序
FROM 工單領料順序
)
改善後 TSQL 語法,改寫為利用 NOT EXISTS 來判斷資料是否存在INSERT INTO 工單領料順序 (................)
SELECT
.............................
FROM 派工工序 AS F
JOIN 派工單 AS S ON F.派工單號 = S.派工單號
WHERE
AND .............................
AND NOT EXISTS
(
SELECT 1
FROM 工單領料順序 AS M
WHERE F.派工單號 = M.派工單號
AND F.派工工序 = M.派工工序
)
測試環境效能資料,只用 insert 一筆資料來測試而已喔