Changement en masse

Modérateurs: Super-Apogea, Super Modérateur

Changement en masse

de rcanudo » Ven 15 Jan 2016 10:41

Bonjour,

Je veux changer en masse des lignes de documents car les articles ont changé d' unité de vente Hl en m3

Voila ma procédure

UPDATE F_DOCLIGNE set DL_Qte = DL_Qte / 10,
DL_QteBC = DL_QteBC / 10,
DL_QteBL = DL_QteBL / 10,
DL_QtePL = DL_QtePL / 10,
DL_PrixUnitaire = DL_PrixUnitaire * 10 ,
DL_PUBC = DL_PUBC * 10 ,
DL_PrixRU = DL_PrixRU * 10 ,
DL_CMUP = DL_CMUP * 10 ,
DL_PUDevise = DL_PUDevise * 10 ,
DL_PUTTC = DL_PUTTC * 10 ,
EU_Enumere = 'm3 Mètre cube'
WHERE EU_Enumere <> 'm3 Mètre cube'

Le problème est que SQL Management Studio me renvoie ce message d' erreur

Msg 50000, Niveau 16, État 1, Procédure TG_CBUPD_F_DOCLIGNE, Ligne 74
La sous-requête a retourné plusieurs valeurs. Cela n'est pas autorisé quand la sous-requête suit =, !=, <, <= , >, >= ou quand elle est utilisée en tant qu'expression.
Msg 3616, Niveau 16, État 1, Ligne 1
Une erreur est survenue lors de l'exécution du déclencheur. Le lot a été abandonné et la transaction utilisateur éventuelle a été restaurée.

Pourquoi le trigger me fait-il la tête ? :( :(

Quelle peut être la solution ? Le désactive ? ou autre ?
Ligne 100c Premium v2.00
May the Force be with you...
Super Contributeur
Super Contributeur
 
Messages: 1224
Inscription: Ven 24 Juil 2009 15:43

Re: Changement en masse

de bishr » Mar 19 Jan 2016 23:52

Bonjour,

L'idéal (mais plus long) serait de passer par un curseur SQL ...
Je pense ...

Sinon, lancé une trace SQL et voir pourquoi le TG de mise à jour des CB se déclenche ... mais je pense qu'il boucle ...

Cdt,
Soyez réalistes : demandez l'impossible
Avatar de l’utilisateur
Contributeur
Contributeur
 
Messages: 96
Inscription: Dim 27 Mai 2007 23:55
Localisation: Ici ... et là ...


Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités