Bonjour,
je developpe une application ou j'utilise une procedure stockée qui me
renvoie 0 ou 1 en fonction de la reussite ou non des insertions de ma
procédure stockée voici le code de la procédure stockée
Code:
CREATE PROCEDURE sp_test_transaction
AS
BEGIN TRANSACTION
INSERT INTO DEGRE_URGENCE(du_id,du_libelle) VALUES(1,'kjmlkl')
IF @@ERROR <> 0
BEGIN
RAISERROR('error occured while recording purchase', 16, 1)
ROLLBACK
RETURN 1
END
INSERT INTO DEGRE_URGENCE(du_id,du_libelle) VALUES(2,'kjmlkl')
IF @@ERROR <> 0
BEGIN
ROLLBACK
RAISERROR('error occured while recording purchase', 16, 1)
RETURN 1
END
INSERT INTO DEGRE_URGENCE(du_id,du_libelle) VALUES(6,'kjmlkl')
IF @@ERROR <> 0
BEGIN
ROLLBACK
RAISERROR('error occured while recording purchase', 16, 1)
RETURN 1
END
RETURN 0
COMMIT TRANSACTION
GO
si dans la transaction de ma procedure il ya un probleme la procedure est
cencé me renvoyer 1 sinon 0.
Dans ma page aspx j'effectue intentionnellement un test en provoquant une
erreur de violation de clé mais je souhaiterai juste recupérer le code de
retour de ma procedure c'est a dire 1 mais voici ce que le serveur me renvoie
:
Citation:
Violation de la contrainte PRIMARY KEY 'PK_DEGRE_URGENCE'. Impossible
d'insérer une clé en double dans l'objet 'DEGRE_URGENCE'.
et je souheterais récupérer dans une variable le chiffre du return de ma
procedure donc 1 a la place.
Je ne vois po comment faire merci d'avance pour votre aide !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Ph. B.
AD wrote:
Bonjour, je developpe une application ou j'utilise une procedure stockée qui me renvoie 0 ou 1 en fonction de la reussite ou non des insertions de ma procédure stockée voici le code de la procédure stockée Code:
CREATE PROCEDURE sp_test_transaction AS
BEGIN TRANSACTION
INSERT INTO DEGRE_URGENCE(du_id,du_libelle) VALUES(1,'kjmlkl') IF @@ERROR <> 0 BEGIN
RAISERROR('error occured while recording purchase', 16, 1) ROLLBACK RETURN 1 END INSERT INTO DEGRE_URGENCE(du_id,du_libelle) VALUES(2,'kjmlkl') IF @@ERROR <> 0 BEGIN ROLLBACK RAISERROR('error occured while recording purchase', 16, 1) RETURN 1 END INSERT INTO DEGRE_URGENCE(du_id,du_libelle) VALUES(6,'kjmlkl') IF @@ERROR <> 0 BEGIN ROLLBACK RAISERROR('error occured while recording purchase', 16, 1) RETURN 1 END
RETURN 0 COMMIT TRANSACTION GO
si dans la transaction de ma procedure il ya un probleme la procedure est cencé me renvoyer 1 sinon 0. Dans ma page aspx j'effectue intentionnellement un test en provoquant une erreur de violation de clé mais je souhaiterai juste recupérer le code de retour de ma procedure c'est a dire 1 mais voici ce que le serveur me renvoie :
Citation: Violation de la contrainte PRIMARY KEY 'PK_DEGRE_URGENCE'. Impossible d'insérer une clé en double dans l'objet 'DEGRE_URGENCE'.
et je souheterais récupérer dans une variable le chiffre du return de ma procedure donc 1 a la place.
Je ne vois po comment faire merci d'avance pour votre aide !
Bonjour
1°) Si tu déclenches une exception, le reste du code sera ignorée... 2°) Si tu renvoies 0 l'instruction COMMIT sera ignorée...
Tu devrais plutot écrire:
CREATE PROCEDURE sp_test_transaction AS
BEGIN TRANSACTION
INSERT INTO DEGRE_URGENCE(du_id,du_libelle) VALUES(1,'kjmlkl') IF @@ERROR <> 0 BEGIN ROLLBACK TRANSACTION RETURN 1 END
COMMIT TRANSACTION RETURN 0
Après tu peux choisir un codification de tes retours sur erreur pour savoir comment les reprendre ultérieurement...
-- Philippe.
AD wrote:
Bonjour,
je developpe une application ou j'utilise une procedure stockée qui me
renvoie 0 ou 1 en fonction de la reussite ou non des insertions de ma
procédure stockée voici le code de la procédure stockée
Code:
CREATE PROCEDURE sp_test_transaction
AS
BEGIN TRANSACTION
INSERT INTO DEGRE_URGENCE(du_id,du_libelle) VALUES(1,'kjmlkl')
IF @@ERROR <> 0
BEGIN
RAISERROR('error occured while recording purchase', 16, 1)
ROLLBACK
RETURN 1
END
INSERT INTO DEGRE_URGENCE(du_id,du_libelle) VALUES(2,'kjmlkl')
IF @@ERROR <> 0
BEGIN
ROLLBACK
RAISERROR('error occured while recording purchase', 16, 1)
RETURN 1
END
INSERT INTO DEGRE_URGENCE(du_id,du_libelle) VALUES(6,'kjmlkl')
IF @@ERROR <> 0
BEGIN
ROLLBACK
RAISERROR('error occured while recording purchase', 16, 1)
RETURN 1
END
RETURN 0
COMMIT TRANSACTION
GO
si dans la transaction de ma procedure il ya un probleme la procedure est
cencé me renvoyer 1 sinon 0.
Dans ma page aspx j'effectue intentionnellement un test en provoquant une
erreur de violation de clé mais je souhaiterai juste recupérer le code de
retour de ma procedure c'est a dire 1 mais voici ce que le serveur me renvoie
:
Citation:
Violation de la contrainte PRIMARY KEY 'PK_DEGRE_URGENCE'. Impossible
d'insérer une clé en double dans l'objet 'DEGRE_URGENCE'.
et je souheterais récupérer dans une variable le chiffre du return de ma
procedure donc 1 a la place.
Je ne vois po comment faire merci d'avance pour votre aide !
Bonjour
1°) Si tu déclenches une exception, le reste du code sera ignorée...
2°) Si tu renvoies 0 l'instruction COMMIT sera ignorée...
Tu devrais plutot écrire:
CREATE PROCEDURE sp_test_transaction
AS
BEGIN TRANSACTION
INSERT INTO DEGRE_URGENCE(du_id,du_libelle) VALUES(1,'kjmlkl')
IF @@ERROR <> 0
BEGIN
ROLLBACK TRANSACTION
RETURN 1
END
COMMIT TRANSACTION
RETURN 0
Après tu peux choisir un codification de tes retours sur erreur pour savoir
comment les reprendre ultérieurement...
Bonjour, je developpe une application ou j'utilise une procedure stockée qui me renvoie 0 ou 1 en fonction de la reussite ou non des insertions de ma procédure stockée voici le code de la procédure stockée Code:
CREATE PROCEDURE sp_test_transaction AS
BEGIN TRANSACTION
INSERT INTO DEGRE_URGENCE(du_id,du_libelle) VALUES(1,'kjmlkl') IF @@ERROR <> 0 BEGIN
RAISERROR('error occured while recording purchase', 16, 1) ROLLBACK RETURN 1 END INSERT INTO DEGRE_URGENCE(du_id,du_libelle) VALUES(2,'kjmlkl') IF @@ERROR <> 0 BEGIN ROLLBACK RAISERROR('error occured while recording purchase', 16, 1) RETURN 1 END INSERT INTO DEGRE_URGENCE(du_id,du_libelle) VALUES(6,'kjmlkl') IF @@ERROR <> 0 BEGIN ROLLBACK RAISERROR('error occured while recording purchase', 16, 1) RETURN 1 END
RETURN 0 COMMIT TRANSACTION GO
si dans la transaction de ma procedure il ya un probleme la procedure est cencé me renvoyer 1 sinon 0. Dans ma page aspx j'effectue intentionnellement un test en provoquant une erreur de violation de clé mais je souhaiterai juste recupérer le code de retour de ma procedure c'est a dire 1 mais voici ce que le serveur me renvoie :
Citation: Violation de la contrainte PRIMARY KEY 'PK_DEGRE_URGENCE'. Impossible d'insérer une clé en double dans l'objet 'DEGRE_URGENCE'.
et je souheterais récupérer dans une variable le chiffre du return de ma procedure donc 1 a la place.
Je ne vois po comment faire merci d'avance pour votre aide !
Bonjour
1°) Si tu déclenches une exception, le reste du code sera ignorée... 2°) Si tu renvoies 0 l'instruction COMMIT sera ignorée...
Tu devrais plutot écrire:
CREATE PROCEDURE sp_test_transaction AS
BEGIN TRANSACTION
INSERT INTO DEGRE_URGENCE(du_id,du_libelle) VALUES(1,'kjmlkl') IF @@ERROR <> 0 BEGIN ROLLBACK TRANSACTION RETURN 1 END
COMMIT TRANSACTION RETURN 0
Après tu peux choisir un codification de tes retours sur erreur pour savoir comment les reprendre ultérieurement...
-- Philippe.
Pascal Soveaux
"AD" wrote in message news:
Bonjour, je developpe une application ou j'utilise une procedure stockée qui me renvoie 0 ou 1 en fonction de la reussite ou non des insertions de ma procédure stockée voici le code de la procédure stockée Code:
CREATE PROCEDURE sp_test_transaction AS
BEGIN TRANSACTION
INSERT INTO DEGRE_URGENCE(du_id,du_libelle) VALUES(1,'kjmlkl') IF @@ERROR <> 0 BEGIN
RAISERROR('error occured while recording purchase', 16, 1) ROLLBACK RETURN 1 END INSERT INTO DEGRE_URGENCE(du_id,du_libelle) VALUES(2,'kjmlkl') IF @@ERROR <> 0 BEGIN ROLLBACK RAISERROR('error occured while recording purchase', 16, 1) RETURN 1 END INSERT INTO DEGRE_URGENCE(du_id,du_libelle) VALUES(6,'kjmlkl') IF @@ERROR <> 0 BEGIN ROLLBACK RAISERROR('error occured while recording purchase', 16, 1) RETURN 1 END
RETURN 0 COMMIT TRANSACTION GO
si dans la transaction de ma procedure il ya un probleme la procedure est cencé me renvoyer 1 sinon 0. Dans ma page aspx j'effectue intentionnellement un test en provoquant une erreur de violation de clé mais je souhaiterai juste recupérer le code de retour de ma procedure c'est a dire 1 mais voici ce que le serveur me renvoie :
Citation: Violation de la contrainte PRIMARY KEY 'PK_DEGRE_URGENCE'. Impossible d'insérer une clé en double dans l'objet 'DEGRE_URGENCE'.
et je souheterais récupérer dans une variable le chiffre du return de ma procedure donc 1 a la place.
Je ne vois po comment faire merci d'avance pour votre aide !
"AD" <AD@discussions.microsoft.com> wrote in message
news:53B0ABE6-BE2A-4512-836D-A609A60A91E9@microsoft.com...
Bonjour,
je developpe une application ou j'utilise une procedure stockée qui me
renvoie 0 ou 1 en fonction de la reussite ou non des insertions de ma
procédure stockée voici le code de la procédure stockée
Code:
CREATE PROCEDURE sp_test_transaction
AS
BEGIN TRANSACTION
INSERT INTO DEGRE_URGENCE(du_id,du_libelle) VALUES(1,'kjmlkl')
IF @@ERROR <> 0
BEGIN
RAISERROR('error occured while recording purchase', 16, 1)
ROLLBACK
RETURN 1
END
INSERT INTO DEGRE_URGENCE(du_id,du_libelle) VALUES(2,'kjmlkl')
IF @@ERROR <> 0
BEGIN
ROLLBACK
RAISERROR('error occured while recording purchase', 16, 1)
RETURN 1
END
INSERT INTO DEGRE_URGENCE(du_id,du_libelle) VALUES(6,'kjmlkl')
IF @@ERROR <> 0
BEGIN
ROLLBACK
RAISERROR('error occured while recording purchase', 16, 1)
RETURN 1
END
RETURN 0
COMMIT TRANSACTION
GO
si dans la transaction de ma procedure il ya un probleme la procedure est
cencé me renvoyer 1 sinon 0.
Dans ma page aspx j'effectue intentionnellement un test en provoquant une
erreur de violation de clé mais je souhaiterai juste recupérer le code de
retour de ma procedure c'est a dire 1 mais voici ce que le serveur me
renvoie
:
Citation:
Violation de la contrainte PRIMARY KEY 'PK_DEGRE_URGENCE'. Impossible
d'insérer une clé en double dans l'objet 'DEGRE_URGENCE'.
et je souheterais récupérer dans une variable le chiffre du return de ma
procedure donc 1 a la place.
Je ne vois po comment faire merci d'avance pour votre aide !
Bonjour, je developpe une application ou j'utilise une procedure stockée qui me renvoie 0 ou 1 en fonction de la reussite ou non des insertions de ma procédure stockée voici le code de la procédure stockée Code:
CREATE PROCEDURE sp_test_transaction AS
BEGIN TRANSACTION
INSERT INTO DEGRE_URGENCE(du_id,du_libelle) VALUES(1,'kjmlkl') IF @@ERROR <> 0 BEGIN
RAISERROR('error occured while recording purchase', 16, 1) ROLLBACK RETURN 1 END INSERT INTO DEGRE_URGENCE(du_id,du_libelle) VALUES(2,'kjmlkl') IF @@ERROR <> 0 BEGIN ROLLBACK RAISERROR('error occured while recording purchase', 16, 1) RETURN 1 END INSERT INTO DEGRE_URGENCE(du_id,du_libelle) VALUES(6,'kjmlkl') IF @@ERROR <> 0 BEGIN ROLLBACK RAISERROR('error occured while recording purchase', 16, 1) RETURN 1 END
RETURN 0 COMMIT TRANSACTION GO
si dans la transaction de ma procedure il ya un probleme la procedure est cencé me renvoyer 1 sinon 0. Dans ma page aspx j'effectue intentionnellement un test en provoquant une erreur de violation de clé mais je souhaiterai juste recupérer le code de retour de ma procedure c'est a dire 1 mais voici ce que le serveur me renvoie :
Citation: Violation de la contrainte PRIMARY KEY 'PK_DEGRE_URGENCE'. Impossible d'insérer une clé en double dans l'objet 'DEGRE_URGENCE'.
et je souheterais récupérer dans une variable le chiffre du return de ma procedure donc 1 a la place.
Je ne vois po comment faire merci d'avance pour votre aide !