>io volevo vedere proprio il contenuto dei dati che stavo scrivendo
>e che sono duplicati...si può fare?
Eccoti l'esempio. Cerco di inserire un ID ce è il parametro della stored procedure. Se va male l'inserimento torno l'id che ha generato l'errore:
USE tempdb;
GO
IF EXISTS (SELECT * FROM sysobjects WHERE id = OBJECT_ID(N'dbo.ChiaviDoppie'))
DROP TABLE dbo.ChiaviDoppie
GO
CREATE TABLE dbo.ChiaviDoppie
(
ID int PRIMARY KEY CLUSTERED
)
GO
INSERT INTO dbo.ChiaviDoppie VALUES (5)
GO
IF EXISTS (SELECT * FROM sysobjects WHERE id = OBJECT_ID(N'dbo.InsertChiaviDoppie'))
DROP PROCEDURE dbo.InsertChiaviDoppie
GO
CREATE PROCEDURE dbo.InsertChiaviDoppie
@ID int
AS
BEGIN
SET NOCOUNT ON;
BEGIN TRY
INSERT INTO dbo.ChiaviDoppie VALUES (@ID)
END TRY
BEGIN CATCH
SELECT IDNonValido = @ID
END CATCH
END
GO
-- chiamata che genera errore
EXEC dbo.InsertChiaviDoppie 5
GO
>
>grazie
di nulla! 
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org