Générer une erreur manuellement en T-SQL pour sauter à COMMENCER bloc CATCH

Est-il possible de générer une erreur dans une procédure stockée manuellement pour arrêter l'exécution et le saut à l' BEGIN CATCH bloc? Certains analogique de throw new Exception() dans C#.

Voici ma procédure stockée du corps:

BEGIN TRY
BEGIN TRAN

-- do something

IF @foobar IS NULL
    -- here i want to raise an error to rollback transaction    

-- do something next

COMMIT TRAN
END TRY
BEGIN CATCH
    IF @@trancount > 0
        ROLLBACK TRAN
    END CATCH

Je sais que d'une manière: SELECT 1/0 Mais c'est horrible!!

InformationsquelleAutor abatishchev | 2009-10-07