hello,
J'ai une question très simple:

J'ai une procédure stocké qui a un paramètre en entrée (date), ce paramètre ne doit pas être incohérent (il ne doit pas dépassé la date du jour)
donc je voudrais savoir si y a moyen avec SQL Server 2005 de quitter une exécution en cour, j'ai essayé RAISERROR mais le problème c'est que ça ne marche pas!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
declare @U_STR_LOAD_DATE varchar(10);--date dans la base de données
declare @STR_LOAD_DATE varchar(10);--date sortie
declare @STR_DAY varchar(10);-- date passé par l'aapli
set @STR_DAY = '03/25/2012'
set @U_STR_LOAD_DATE ='04/15/2011'
if @U_STR_LOAD_DATE = @STR_DAY 
set @STR_LOAD_DATE = @U_STR_LOAD_DATE
if CONVERT(DATEtime,@STR_DAY ,101)>CONVERT(DATEtime,@U_STR_LOAD_DATE ,101)
RAISERROR('Oh no a fatal error', 25, -1)
else SET @STR_LOAD_DATE = @STR_DAY
select @STR_LOAD_DATE as STR_LOAD_DATE, @U_STR_LOAD_DATE as U_STR_LOAD_DATE, @STR_DAY  as STR_DAY
Il me retourne le résultat du select et moi je veux qu'il arrêt l'exécution comme ci y a une erreur de syntaxe

Code : Sélectionner tout - Visualiser dans une fenêtre à part
NULL	04/15/2011	03/25/2012

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Msg 2754, Level 16, State 1, Line 12
Error severity levels greater than 18 can only be specified by members of the sysadmin role, using the WITH LOG option.
 
(1 row(s) affected)