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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
| DECLARE @sql nvarchar(max)
, @IDNewDEVIS int
INSERT INTO TmpOldDevis
(
IDOldDEVIS
)
SELECT IDDevis
FROM dbo.Devis
WHERE Devis.IDPropositions = 36524
INSERT INTO TmpNewDEVIS
(
IDNewDEVIS
)
SELECT IDDevis
FROM dbo.Devis
WHERE IDPropositions = 37899
SELECT @old_devis_count = row_count
FROM sys.dm_db_partition_stats
WHERE object_id = OBJECT_ID('dbo.TmpOldDevis')
AND index_id BETWEEN 0 AND 1
WHILE @old_devis_count >= 1
BEGIN
BEGIN TRAN
SET @sql =
'SELECT IDOldDEVIS
FROM dbo.TmpOldDevis
WHERE Temp_IDOldDEVIS = @_old_devis_count'
EXEC sp_executesql
@sql
, N'@_old_devis_count int'
, @_old_devis_count = @old_devis_count
SET @sql =
'INSERT INTO dbo.TmpLignesMateriels
(
IDLignesMateriels
, IDDevis
, IDProduits
, Designation
, Quantité
, PrixNetHT
, TotalHT
, PrixAchatHT
, NumeroLigne
, IDTVA
, RemiseAnnuelle
, RemiseComplementaire
, PrixNetHT_RA
, TotalHT_RA
)
SELECT IDLignesMateriels
, IDDevis
, IDProduits
, Designation
, Quantité
, PrixNetHT
, TotalHT
, PrixAchatHT
, NumeroLigne
, IDTVA
, RemiseAnnuelle
, RemiseComplementaire
, PrixNetHT_RA
, TotalHT_RA
FROM dbo.LignesMateriels AS LM
INNER JOIN dbo.TmpOldDevis AS D
ON LM.IDDevis = D.IDOldDEVIS
WHERE TmpOldDevis.Temp_IDOldDEVIS = @_old_devis_count'
EXEC sp_executesql
@sql
, N'@_old_devis_count int'
, @_old_devis_count = @old_devis_count
SET @sql =
'SELECT @IDNewDEVIS = IDNewDEVIS
FROM dbo.TmpNewDEVIS
WHERE Temp_IDNewDEVIS = @_old_devis_count'
EXEC sp_executesql
@sql
, N'@_old_devis_count int, @_IDNewDEVIS OUTPUT'
, @_old_devis_count = @old_devis_count
, @_IDNewDEVIS = @IDNewDEVIS OUTPUT
SET @sql =
'INSERT INTO dbo.LignesMateriels
(
IDDevis
, IDProduits
, Designation
, Quantité
, PrixNetHT
, TotalHT
, PrixAchatHT
, NumeroLigne
, IDTVA
, RemiseAnnuelle
, RemiseComplementaire
, PrixNetHT_RA
, TotalHT_RA
)
SELECT @_IDNewDEVIS
, IDProduits
, Designation
, Quantité
, PrixNetHT
, TotalHT
, PrixAchatHT
, NumeroLigne
, IDTVA
, RemiseAnnuelle
, RemiseComplementaire
, PrixNetHT_RA
,TotalHT_RA
FROM dbo.TmpLignesMateriels AS LM
INNER JOIN dbo.TmpOldDevis AS D
ON LM.IDDevis = D.IDOldDEVIS
WHERE D.Temp_IDOldDEVIS = @_old_devis_count'
EXEC sp_executesql
@sql
, N'@_old_devis_count int, @_IDNewDEVIS int'
, @_old_devis_count = @old_devis_count
, @_IDNewDEVIS = @IDNewDEVIS
SET @var1 = @var1 - 1
COMMIT TRAN
END |