1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| CREATE PROCEDURE Ps_Article_Ajoute
@id_produits_ INT,
@id_acces_ INT,
@id_titre_traduction_ INT,
@id_commentaire_traduction_ INT,
@titre VARCHAR(250),
@commentaire VARCHAR(8000),
@date_publication DATETIME
AS
BEGIN
DECLARE @IDarticle INT
BEGIN TRY
BEGIN TRANSACTION
INSERT INTO dbo.articles
(
id_produits_,
id_acces_,
id_titre_traduction_,
id_commentaire_traduction_,
titre,
commentaire,
date_publication,
date_maj
)
VALUES
(
@id_produits_,
@id_acces_,
@id_titre_traduction_,
@id_commentaire_traduction_,
@titre,
@commentaire,
@date_publication,
GETDATE()
)
SELECT @lIDArticle = SCOPE_IDENTITY()
INSERT INTO dbo.url
(
article_id_ INT,
titre_url,
lien_url,
)
VALUES
(
@lIDArticle,
@titre,
'http://...'
)
COMMIT TRANSACTION
END TRY
BEGIN CATCH
-- Soit vous avez une table pour la gestion d'erreurs et vous stockez l'erreur dedans
-- Soit vous définissez vos propres messages d'erreur à l'aide de sp_addmessage
-- Soit vous relancez l'erreur avec votre propre message
DECLARE @errMsg NVARCHAR(1024)
SELECT @errMsg = ERROR_MESSAGE()
RAISERROR('Erreur lors de l''ajout de l''article %s : %s', 16, 1, @titre, @errMsg)
ROLLBACK TRANSACTION
END CATCH
END |
Partager