Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

gérer exceptions dans trigger

5 réponses
Avatar
slashes
Bonjour,

Voila mon problème:

Dans un trigger sur une vue, je fais appel à plusieurs procédures stockées.
Mais, comment faire pour que lorsque l'appel d'une procédure plante,
l'exécution du trigger ne plante pas ?
Existe t'il un truc du genre 'try-catch' ?

Merci d'avance,

Jerome

5 réponses

Avatar
Fred BROUARD
bonjour,

slashes a écrit:
Bonjour,

Voila mon problème:

Dans un trigger sur une vue, je fais appel à plusieurs procédures stockées.
Mais, comment faire pour que lorsque l'appel d'une procédure plante,
l'exécution du trigger ne plante pas ?



Gérer des transaction avec un GOTO

Existe t'il un truc du genre 'try-catch' ?



dans SQL server 2005 oui, mais pas dans 2000.

Merci d'avance,

Jerome





Pour un exemple de gestion de transaction, lire :
http://sqlpro.developpez.com/cours/sqlserver/transactsql/#L4.3

A +

--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Avatar
Philippe T [MS]
Bonjour,

Non, pas de transaction appelé depuis un trigger ! :-(

Phil.
________________________________________________________
Philippe TROTIN http://blogs.msdn.com/ptrotin
Microsoft Services France http://www.microsoft.com/france

"Fred BROUARD" wrote in message
news:uxhnfI9$
bonjour,

slashes a écrit:
> Bonjour,
>
> Voila mon problème:
>
> Dans un trigger sur une vue, je fais appel à plusieurs procédures


stockées.
> Mais, comment faire pour que lorsque l'appel d'une procédure plante,
> l'exécution du trigger ne plante pas ?

Gérer des transaction avec un GOTO

> Existe t'il un truc du genre 'try-catch' ?

dans SQL server 2005 oui, mais pas dans 2000.
>
> Merci d'avance,
>
> Jerome
>
>

Pour un exemple de gestion de transaction, lire :
http://sqlpro.developpez.com/cours/sqlserver/transactsql/#L4.3

A +

--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************



Avatar
Fred BROUARD
oui mais là c'est la SP qui est apellée par le trigger ? Non ???
Dans ce cas la transaction est gérée au niveau du trigger par GOTO.
Si Pas OK, alors ROLLABCK de la SP et retour au trigger avec un code retour
pour indiquer que cela s'est mal passé.

A +

Philippe T [MS] a écrit:
Bonjour,

Non, pas de transaction appelé depuis un trigger ! :-(

Phil.
________________________________________________________
Philippe TROTIN http://blogs.msdn.com/ptrotin
Microsoft Services France http://www.microsoft.com/france

"Fred BROUARD" wrote in message
news:uxhnfI9$

bonjour,

slashes a écrit:

Bonjour,

Voila mon problème:

Dans un trigger sur une vue, je fais appel à plusieurs procédures





stockées.

Mais, comment faire pour que lorsque l'appel d'une procédure plante,
l'exécution du trigger ne plante pas ?



Gérer des transaction avec un GOTO


Existe t'il un truc du genre 'try-catch' ?



dans SQL server 2005 oui, mais pas dans 2000.

Merci d'avance,

Jerome





Pour un exemple de gestion de transaction, lire :
http://sqlpro.developpez.com/cours/sqlserver/transactsql/#L4.3

A +

--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************









--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Avatar
bruno reiter [MVP]
le trigger est toujours inclu dans la transaction de la commande qui l'a
déclanché (INS,UPD,DEL) donc un rollback n'importe où à l'intérieur
reviendra au niveau zéro de transaction. (cas particulier avec SAVE TRAN)

br

"Fred BROUARD" wrote in message
news:
oui mais là c'est la SP qui est apellée par le trigger ? Non ???
Dans ce cas la transaction est gérée au niveau du trigger par GOTO.
Si Pas OK, alors ROLLABCK de la SP et retour au trigger avec un code


retour
pour indiquer que cela s'est mal passé.

A +

Philippe T [MS] a écrit:
> Bonjour,
>
> Non, pas de transaction appelé depuis un trigger ! :-(
>
> Phil.
> ________________________________________________________
> Philippe TROTIN http://blogs.msdn.com/ptrotin
> Microsoft Services France http://www.microsoft.com/france
>
> "Fred BROUARD" wrote in message
> news:uxhnfI9$
>
>>bonjour,
>>
>>slashes a écrit:
>>
>>>Bonjour,
>>>
>>>Voila mon problème:
>>>
>>>Dans un trigger sur une vue, je fais appel à plusieurs procédures
>
> stockées.
>
>>>Mais, comment faire pour que lorsque l'appel d'une procédure plante,
>>>l'exécution du trigger ne plante pas ?
>>
>>Gérer des transaction avec un GOTO
>>
>>
>>>Existe t'il un truc du genre 'try-catch' ?
>>
>>dans SQL server 2005 oui, mais pas dans 2000.
>>
>>>Merci d'avance,
>>>
>>>Jerome
>>>
>>>
>>
>>Pour un exemple de gestion de transaction, lire :
>>http://sqlpro.developpez.com/cours/sqlserver/transactsql/#L4.3
>>
>>A +
>>
>>--
>>Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
>>Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
>>Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
>>************************ www.datasapiens.com *************************
>>
>
>
>

--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************



Avatar
Philippe T [MS]
Bonjour,

Ah, oui, je n'avais pas compris ce que tu voulais dire :-(

Effectivement dans ce cas, si l'on gère un rollback dans la proc, il y aura
un rollback complet.

Phil.
________________________________________________________
Philippe TROTIN http://blogs.msdn.com/ptrotin
Microsoft Services France http://www.microsoft.com/france

"Fred BROUARD" wrote in message
news:
oui mais là c'est la SP qui est apellée par le trigger ? Non ???
Dans ce cas la transaction est gérée au niveau du trigger par GOTO.
Si Pas OK, alors ROLLABCK de la SP et retour au trigger avec un code


retour
pour indiquer que cela s'est mal passé.

A +

Philippe T [MS] a écrit:
> Bonjour,
>
> Non, pas de transaction appelé depuis un trigger ! :-(
>
> Phil.
> ________________________________________________________
> Philippe TROTIN http://blogs.msdn.com/ptrotin
> Microsoft Services France http://www.microsoft.com/france
>
> "Fred BROUARD" wrote in message
> news:uxhnfI9$
>
>>bonjour,
>>
>>slashes a écrit:
>>
>>>Bonjour,
>>>
>>>Voila mon problème:
>>>
>>>Dans un trigger sur une vue, je fais appel à plusieurs procédures
>
> stockées.
>
>>>Mais, comment faire pour que lorsque l'appel d'une procédure plante,
>>>l'exécution du trigger ne plante pas ?
>>
>>Gérer des transaction avec un GOTO
>>
>>
>>>Existe t'il un truc du genre 'try-catch' ?
>>
>>dans SQL server 2005 oui, mais pas dans 2000.
>>
>>>Merci d'avance,
>>>
>>>Jerome
>>>
>>>
>>
>>Pour un exemple de gestion de transaction, lire :
>>http://sqlpro.developpez.com/cours/sqlserver/transactsql/#L4.3
>>
>>A +
>>
>>--
>>Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
>>Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
>>Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
>>************************ www.datasapiens.com *************************
>>
>
>
>

--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************