FIX: L'istruzione Update complessi restituisce 8624 errore interno del server SQL

Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell’utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell’utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.

286249
Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
BUG #: 351305 (SHILOH_bugs)
Sintomi
Un'istruzione UPDATE che contiene una sottoquery, che consente di selezionare una tabella derivata costituita da UNION ALL, potrebbe generato il seguente messaggio di errore:
Server: Messaggio 8624, livello 16, stato 21, riga 2
Errore interno di SQL Server.
Risoluzione
Per risolvere il problema, ottenere il service pack più recente per Microsoft SQL Server 2000. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
290211INF: Come ottenere SQL Server 2000 Service Pack più recente
Workaround
Se possibile, riscrivere la query utilizzando solo l'operatore UNION, senza la parola chiave ALL.
Status
Microsoft ha confermato che questo problema riguarda i prodotti Microsoft elencati all'inizio di questo articolo. Questo problema è stato innanzitutto corretto in SQL Server 2000 Service Pack 1.
Informazioni
Per riprodurre questo errore, eseguire lo 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    )				

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 286249 - Ultima revisione: 01/16/2015 21:28:42 - Revisione: 3.2

  • Microsoft SQL Server 2000 Standard Edition
  • kbnosurvey kbarchive kbmt kbbug kbfix kbsqlserv2000sp1fix KB286249 KbMtit
Feedback