Problème sql where table temp

Résolu/Fermé
Juduno - Modifié le 22 août 2018 à 09:55
 juduno - 23 août 2018 à 06:32
Bonjour,

je dois pas avoir les yeux en face des trous j'ai pas trouver la rubrique sql mais passons mon problème cette fois, je ne le comprend pas trop

DECLARE @dt DATETIME = DATEADD(DAY, -7, GETDATE());
    
SELECT  imre_id 
INTO #tmpImre_id
FROM import_regle
WHERE imre_d_fin_sejour < @dt

UPDATE regle
SET imre_id = NULL
WHERE imre_id = #tmpImre_id.imre_id

DELETE FROM #tmpImre_id  

DROP TABLE #tmpImre_id

je comprend pas pourquoi je peux pas faire mon where entre imre_id et ma table temporaire

si une personne veux bien m'expliquer le pourquoi du comment

merci d'avance
A voir également:

2 réponses

bon c'est pas la réponse pour résoudre la question mais du coup j'ai fait comme ça parce que j'y arrivé pas

DECLARE @dt DATETIME = DATEADD(DAY, -7, GETDATE());
    
SELECT imre_id 
INTO #tmpImre_id
FROM import_regle
WHERE imre_d_fin_sejour < @dt

UPDATE regle 
SET imre_id = NULL
FROM regle r
INNER JOIN #tmpImre_id tmp on tmp.imre_id = r.imre_id


DELETE FROM import_regle
WHERE imre_id IN (SELECT *
                  FROM #tmpImre_id
                 ) 


DROP TABLE #tmpImre_id
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
Modifié le 22 août 2018 à 12:15
bonjour, moi j'essaierais ceci, sans table temporaire:
UPDATE regle r
    JOIN import_regle t ON r.imre_id = t.imre_id AND t.imre_d_fin_sejour < @dt
SET r.imre_id = NULL

DELETE FROM import_regle
WHERE imre_d_fin_sejour < @dt 
0
c'est vrai j'ai pas pensé à le faire comme ça merci
0