>può capitare il caso che devo eliminare 2 dei 5 record, indipendentemente
>dal nominativo, pertanto dovrei eseguire una delete con una specie
>di limit ossia dire che dei 5 record bisogna eliminarli solo
>2.
Faccio fatica ad immaginare di dover eliminare due righe "a casaccio" da una tabella, ma se è questo che ti serve puoi specificare la clausola TOP() nel comando di DELETE:
USE tempdb;
CREATE TABLE dbo.Archivio_mov_new(
IdDb bigint IDENTITY(1,1) NOT NULL,
progschedina int NULL,
codalbergo int NULL,
codcomalbergo int NULL,
Nominativo varchar(15) NULL,
CONSTRAINT PK_Archivio_mov_new PRIMARY KEY(IdDb)
);
INSERT dbo.Archivio_mov_new VALUES(1, 1000, 60038, 'Rossi mario');
INSERT dbo.Archivio_mov_new VALUES(1, 1000, 60038, 'Rossi franco');
INSERT dbo.Archivio_mov_new VALUES(1, 1000, 60038, 'Rossi diego');
INSERT dbo.Archivio_mov_new VALUES(1, 1000, 60038, 'Rossi lucio');
INSERT dbo.Archivio_mov_new VALUES(1, 1000, 60038, 'Rossi fabio');
SELECT *
FROM dbo.Archivio_mov_new;
/* Output:
IdDb progschedina codalbergo codcomalbergo Nominativo
-------------------- ------------ ----------- ------------- ---------------
1 1 1000 60038 Rossi mario
2 1 1000 60038 Rossi franco
3 1 1000 60038 Rossi diego
4 1 1000 60038 Rossi lucio
5 1 1000 60038 Rossi fabio
(5 row(s) affected)
*/
DELETE TOP(2) dbo.Archivio_mov_new;
SELECT *
FROM dbo.Archivio_mov_new;
/* Output:
IdDb progschedina codalbergo codcomalbergo Nominativo
-------------------- ------------ ----------- ------------- ---------------
3 1 1000 60038 Rossi diego
4 1 1000 60038 Rossi lucio
5 1 1000 60038 Rossi fabio
(3 row(s) affected)
*/
DROP TABLE dbo.Archivio_mov_new;
>Ciao e grazie
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org