PROBLEMA:
ho una tabella Catalogo di 170.000 righe ed una tabella CatalogoOLD di 8000 righe.
La tabella CatalogoOLD contiene un elenco di libri identificati da un codice ISBN a cui è abbinata una descrizione testuale.
LA tabella Catalogo contiene un elenco molto grande di libri identificati sempre da un codice ISBN a cui è associata una descrizione vuota.
Quello che devo fare è semplicemente copiare le descrizioni che trovo in CatalogoOLD nei campi ISBN corrispondenti della tabella Catalogo.
All'apparenza mi sembrava un gioco da ragazzi e invece ho incontrato non poche difficoltà.

CAMPI TABELLA "Catalogo":
isbn - testo

CAMPI TABELLA "CatalogoOLD":
isbnOLD - testoOLD - id, dove id è un campo INT compresi in un intervallo [0..8662]
RISOLUZIONE:

1. attraverso un join sul campo isbn delle due tabelle ho creato come prima cosa una vista di 4000 righe contenenti tutte le descrizioni da inserire
(es: id 63 - isbnOLD 899996789X - testoOLD "Questo libro parla..")

2. ho quindi creato questa STORED PROCEDURE:

codice:
DECLARE @contatore AS INT
SET @contatore = 1
-- scorro la vista creata dal join ISBN sulle due tabelle 
WHILE @contatore < 8663
 BEGIN
 -- se id e contatore coincidono effettuo l'UPDATE
 IF EXISTS(SELECT id FROM descrizioniOLD WHERE id = @contatore)      
    BEGIN
        UPDATE catalogo
	SET testo =  (SELECT testoOLD
		      FROM   descrizioniOLD
		      WHERE  id = @contatore)
	WHERE isbn = (SELECT isbnOLD
		      FROM   descrizioniOLD
		      WHERE  id = @contatore)
    END
 -- incremento in ogni caso il contatore
    SET @contatore = @contatore + 1
    print 'contatore = '+ STR(@contatore)
 END
Ebbene.. l'algoritmo pare funzionare bene ma estremamente a rilento rendendone impossibile la terminazione. Stoppando la procedura dopo 5 minuti esatti ho notato che erano state esaminate solo 70 righe stimando che per completare la procedura sarebbe state necessario un tempo di all'incirca 10 ore! VVoVe:
Qualcuno sa consigliarmi un metodo più efficiente?

p.S: ho provato anche con un cursore ma SQLServer mi segnala che non può esaminare più di 100 righe.. è possibile aumentare questo valore? A livello di prestazioni che metodo è meglio adottare? Ciao a tutti e grazie in anticipo a chi prova a darmi una mano