>Qualcuno mi può aiutare per favore anche allegandomi un esempio
>di pacchetto script se possibile ?!
Ciao Mark,
Ma perché mai complicarsi la vita quando esistono soluzioni set-based che offrono semplicità e prestazioni nemmeno lontanamente paragonabili alla montagna di codice che vorresti scrivere? 
Ti bastano 1 comando di UPDATE e 2 JOIN:
USE tempdb;
CREATE TABLE dbo.Tabella1(
idArticolo int NOT NULL,
DescrizioneArticolo varchar(10) NOT NULL,
idClasse int NULL
);
CREATE TABLE dbo.Tabella2(
idArticolo int NOT NULL,
Classe varchar(10) NOT NULL
);
CREATE TABLE dbo.Tabella3(
idClasse int NOT NULL,
Classe varchar(10) NOT NULL
);
INSERT dbo.Tabella1 VALUES(1, 'Articolo1', NULL);
INSERT dbo.Tabella1 VALUES(2, 'Articolo2', NULL);
INSERT dbo.Tabella1 VALUES(3, 'Articolo3', NULL);
INSERT dbo.Tabella1 VALUES(4, 'Articolo4', NULL);
INSERT dbo.Tabella2 VALUES(1, 'Classe1');
INSERT dbo.Tabella2 VALUES(2, 'Classe2');
INSERT dbo.Tabella2 VALUES(3, 'Classe3');
INSERT dbo.Tabella2 VALUES(4, 'Classe4');
INSERT dbo.Tabella3 VALUES(10, 'Classe1');
INSERT dbo.Tabella3 VALUES(20, 'Classe2');
INSERT dbo.Tabella3 VALUES(30, 'Classe3');
INSERT dbo.Tabella3 VALUES(40, 'Classe4');
UPDATE dbo.Tabella1
SET idClasse = T3.idClasse
FROM dbo.Tabella1 AS T1
JOIN dbo.Tabella2 AS T2
ON T1.idArticolo = T2.idArticolo
JOIN dbo.Tabella3 AS T3
ON T2.Classe = T3.Classe;
SELECT *
FROM dbo.Tabella1;
/* Output:
idArticolo DescrizioneArticolo idClasse
----------- ------------------- -----------
1 Articolo1 10
2 Articolo2 20
3 Articolo3 30
4 Articolo4 40
(4 row(s) affected)
*/
DROP TABLE dbo.Tabella1, dbo.Tabella2, dbo.Tabella3;
>Grazie e buona serata.
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org