CORRECTIF : instruction de mise à jour complexes renvoie 8624 SQL Erreur interne du serveur

IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d’articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d’avoir accès, dans votre propre langue, à l’ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s’exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s’efforce aussi continuellement de faire évoluer son système de traduction automatique.

La version anglaise de cet article est la suivante: 286249
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
BUG #: 351305 (SHILOH_bugs)
Symptômes
Une instruction UPDATE qui contient une sous-requête, sélectionne d'un tableau dérivé créée à partir d'une UNION ALL, peut générer le message d'erreur suivantes :
Serveur: Msg 8624, Niveau 16, État 21, ligne 2
Erreur interne de SQL Server.
Résolution
Pour résoudre ce problème, procurez-vous le dernier service pack Microsoft SQL Server 2000. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
290211 Fichier INF: façon d'obtenir le dernier Pack de service de Server 2000 SQL
Contournement
Si possible, réécrivez la requête en utilisant l'opérateur UNION en sans le mot-clé ALL.
Statut
Microsoft a confirmé que c'est un problème dans les produits Microsoft répertoriés au début de cet article. Ce problème a été corrigé dans Microsoft SQL Server 2000 Service Pack 1.
Plus d'informations
Pour reproduire cette erreur, exécutez ce script :
CREATE TABLE MaxCol(PK INT PRIMARY KEY,f1 INT,f2 INT,mx INT)GOUPDATE MaxColSET mx =    (SELECT MAX(f)    FROM        (        SELECT f1 AS f        FROM MaxCol AS A        WHERE A.PK=MaxCol.PK        UNION ALL        SELECT f2        FROM MaxCol AS B        WHERE B.PK=MaxCol.PK        ) AS TU    )				

Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 286249 - Dernière mise à jour : 01/16/2015 21:28:40 - Révision : 3.2

Microsoft SQL Server 2000 Standard

  • kbnosurvey kbarchive kbmt kbbug kbfix kbsqlserv2000sp1fix KB286249 KbMtfr
Commentaires