Bonjour, j'utilise:
Sybase Adaptive Server Enterprise version: 12.5.4
est ce qu'il existe en SQL l'équivalent des fonctions C# 'try - catch'
je m'explique, voici mon code
je souhaite que la procédure ne s'arrête pas lorsque @cur sera égale à zéro
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 drop procedure test go create procedure test as declare @cur int, @max int, @a float begin set @cur = -10 set @max = 10 while @cur < @max begin set @a = convert(float, 1 / @cur) <----- ici cela va planter lorsque @cur sera égale a zéro. print '%1!', @cur select @cur = @cur + 1 end end go exec test go
exemple du nouveau code (il y a du c# pour vous faire comprendre)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 drop procedure test go create procedure test as declare @cur int, @max int, @a float begin set @cur = -10 set @max = 10 while @cur < @max begin try <--------- instruction c# (je cherche l'équivalent en sql) begin set @a = convert(float, 1 / @cur) print '%1!', @cur end catch <--------- instruction c# (je cherche l'équivalent en sql) print 'conversion impossible' select @cur = @cur + 1 end end go exec test go
Partager