Mise à jour de base de donnée [SQL Server][RESOLU] - SQL/NoSQL - Programmation
Marsh Posté le 23-01-2007 à 11:50:10
Ca changera rien, mais remplace ton DELETE par un TRUNCATE : plus rapide.
Soit plus clair pour le reste.
A la base, je dirais de faire un truc du genre :
insert into y (id, val) from (select id, val from x where not exists (select null from y where y.id = x.id)) |
Marsh Posté le 23-01-2007 à 11:52:28
MagicBuzz a écrit : Ca changera rien, mais remplace ton DELETE par un TRUNCATE : plus rapide.
|
Merci beaucoup pour le DELETE.
Pour le reste, ta fonction repond parfaitement à ce que je veux. J'ai déjà essayé le NO Exist, mais surement avec une mauvaise syntaxe. Je vais essayer ça tout de suite.
Merci beaucoup.
Marsh Posté le 23-01-2007 à 11:57:24
Lemminkainen a écrit : Merci beaucoup pour le DELETE. |
Ton from est en trop, voila la requête qui marche :
Code :
|
Merci beaucoup.
Marsh Posté le 23-01-2007 à 11:42:21
Bonjour,
Je vous expose mon problème.
J'ai une table X, sur laquelle je fais un BCP (pour exporter ma table sous un fichier texte).
J'ai une table Temp sur laquelle je fais un delete :
Et sur laquelle j'importe la table X :
J'ai une troisième table Y, qui elle va recevoir les informations de la table TEMP.
Si je fais un insert into pour la première fois, il n'y a pas de soucis, la table Y va avoir les informations de la table Temp.
Le problème est lorsque de nouvelles informations sont incrites sur la tables Temp. J'imagine que vous le voyez déjà : je ne peux pas (et c'est logique) créer deux fois des valeurs déjà existantes. J'ai pensé à créer un ID mais le problème, c'est qu'en faite il n'y a pas qu'une table x mais plusieurs avec des valeurs bien differentes.
Pour l'update il n'y a aucuns soucis, mais lorsque de nouvelles valeurs vont rentrées, je ne sais pas quelle condition appliquer à mon insert.
Merci
Message édité par Lemminkainen le 23-01-2007 à 11:57:45
---------------
Que vois-tu quand tu fermes les yeux ?