1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| -- Step 1: Create a temporary results table
CREATE TABLE #TempResults (
COD_EXP_SRC VARCHAR(50), -- Adjust the data type as needed
COD_CEL_SRC VARCHAR(50),
NUM_File_SRC VARCHAR(50)
);
-- Step 2: Insert the rows to be updated into the temporary table
INSERT INTO #TempResults (COD_EXP_SRC, COD_CEL_SRC, NUM_DOS_SRC)
SELECT MAT.COD_EXP_SRC, MAT.COD_CEL_SRC, MAT.NUM_DOS_SRC
FROM NATV_PRC_Statition AS MAT
WHERE NOT EXISTS (
SELECT 1
FROM File AS DOS
WHERE DOS.COD_EXP = MAT.COD_EXP_SRC
AND DOS.COD_CEL = MAT.COD_CEL_SRC
AND DOS.NUM_File= MAT.NUM_File_SRC
)
AND MAT.NUM_MAT = @NUM_MAT
AND MAT.COD_ERR IS NULL;
-- Step 3: Perform the UPDATE on the main table
UPDATE MAT
SET
MAT.NUM_MAT = NULL,
MAT.TXT_ERR = 'Matching en attente, dossier source inexistant',
TS_MAJ_LIN = CONVERT(VARBINARY(8), NEXT VALUE FOR REPLACEROWVERSION)
FROM MATV3_PRC_DETAIL AS MAT
JOIN #TempResults AS T ON
MAT.COD_EXP_SRC = T.COD_EXP_SRC
AND MAT.COD_CEL_SRC = T.COD_CEL_SRC
AND MAT.NUM_File_SRC = T.NUM_File_SRC;
-- Step 4: Drop the temporary results table
DROP TABLE #TempResults; |
Partager