SQL Server 2008 R2 Management Studio n'a pas reconnu mon lancer dans l'exemple ci-dessous, dit-il
syntaxe incorrecte près de lancer
J'essaie de lancer une erreur ici, je peux donc le gérer sur mon site Web lorsque quelqu'un insère deux fois la même valeur.
Begin Try
insert into BusinessID (BusinessID) values (@ID)
insert into BusinessID (BusinessID) values (@ID)
End Try
Begin Catch
Print 'PK already exist'
THROW
End Catch
THROW
_ instruction est introduite dans SQL Server 2012
http://msdn.microsoft.com/en-us/library/ee677615.aspx
Vous pouvez utiliser RAISERROR
à la place.
http://msdn.microsoft.com/en-us/library/483588bd-021b-4eae-b4e-216268003E79 (v = SQL.105)
BEGIN CATCH
DECLARE @ErrorMessage NVARCHAR(4000);
DECLARE @ErrorSeverity INT;
DECLARE @ErrorState INT;
SELECT
@ErrorMessage = ERROR_MESSAGE(),
@ErrorSeverity = ERROR_SEVERITY(),
@ErrorState = ERROR_STATE();
RAISERROR (@ErrorMessage, -- Message text.
@ErrorSeverity, -- Severity.
@ErrorState -- State.
);
END CATCH;