Changement en masse
Modérateurs: Super-Apogea, Super Modérateur
2 messages
|Page 1 sur 1
Changement en masse
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 ?
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...
May the Force be with you...
- Super Contributeur
- Messages: 1224
- Inscription: Ven 24 Juil 2009 15:43
Re: Changement en masse
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,
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
2 messages
|Page 1 sur 1
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité