[ad_1]
ALTER PROCEDURE [dbo].[SendSMS_TestMark] @EntityID INT , --PolicyID @Mobile VARCHAR(11) , @Message VARCHAR(480) ,--What Needs to be send Text @ScheduleDateTime DATETIME , --Same date sync @DateCreated DATETIME, --Same date sync @ProjectID INT -- ClaimType and message type AS BEGIN TRY BEGIN TRAN IF LEN(@Mobile) <= 10 OR (LEN(@Mobile) >=10 ) INSERT INTO Media_QA.Multimedia.SMS ( fkEntityID , C_EntityType , Mobile , Message , ScheduledDateTime , DateCreated , fkProjectID ) SELECT @EntityID , 776 , --Policy @Mobile, @Message , @ScheduleDateTime , @DateCreated , @ProjectID END TRY BEGIN CATCH RAISERROR ('Invalid Mobile: Mobile number must be 10 digits', 16,2 ) ROLLBACK COMMIT TRAN
Ce que j’ai essayé :
J’ai essayé d’échanger les fonctions mais elles s’engagent toujours
Solution 1
Je ne vois nulle part de END CATCH, donc ça va être un problème.
De plus, vous ne lancez aucune exception pour que le bloc TRY soit intercepté. Le simple fait d’échouer une instruction IF ne lève pas d’exception.
Franchement, je ne vois rien ici qui nécessite même un TRY/CATCH. Le côté “faux” de votre instruction IF pourrait générer une erreur renvoyée à l’appelant.
[ad_2]
コメント