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

INFOS - Gestion des erreurs dans procédure SQL

3 réponses
Avatar
M L
Bonjour à tous,

Je suis à la recherche d'informations sur SQL Server.

Quelles solutions disponibles pour la gestion des erreurs similaire à la
gestion des exceptions PL/SQL de Oracle ?

Merci pour toute information sur ce sujet.


Michel

3 réponses

Avatar
Med Bouchenafa
Il n'y a pas de gestion des exceptions à la "Oracle" dans SQL Server
C'est d'ailleurs le plus gros point de faiblesse de T-SQL dans SQL Server 2000
Cela est corrigé dans la prochaine version : SQL Server 2005
En attendant le meilleur document sur le sujet reste ce document produit par Erland Sommarskog ( MVP
SQL Server)
http://www.sommarskog.se/error-handling-I.html

--
Bien cordialement
Med Bouchenafa


"M L" a écrit dans le message de news:
O8so#
Bonjour à tous,

Je suis à la recherche d'informations sur SQL Server.

Quelles solutions disponibles pour la gestion des erreurs similaire à la
gestion des exceptions PL/SQL de Oracle ?

Merci pour toute information sur ce sujet.


Michel








Avatar
Fred BROUARD
C'est le point faible de SQL Server.

Voici une méthode courante de gestion des exceptions dans les SP transactionnées :
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 *************************

M L a écrit:
Bonjour à tous,

Je suis à la recherche d'informations sur SQL Server.

Quelles solutions disponibles pour la gestion des erreurs similaire à la
gestion des exceptions PL/SQL de Oracle ?

Merci pour toute information sur ce sujet.


Michel








Avatar
F.S
Bonjour Michel,

- La variable globale @ERROR permet d'interroger le code d'erreur après
chaque Transact-sql
INSERT INTO MYTABLE VALUES('XXX', 'YYY')
if (@@ERROR<>0)
BEGIN

END

- Raiserror permet de retourner les messages d'erreurs à l'utilisateur.

SET @ErrorMessage = N'Message ...'
RAISERROR ( @ErrorMessage, 17, 1)

- sp_addmessage est la procédure stockée qui permet d'ajouter des messages
utilisateurs à la table master.dbo.sysmessages

USE master
EXEC sp_addmessage @msgnum = 60000, @severity = 16,
@msgtext = N'Message utilisateur ..',
@lang = 'French'

La combinaison (@msgnum,@lang ) est la clé unique du message.

Il y'a aussi sp_dropmessage et sp_altermessage.

F.S