Bonjour
est ce qu'il existe en SQL l'équivalent des fonctions C# 'try - catch'
je m'explique, voici mon code
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
je souhaite que la procédure ne s'arrête pas lorsque @cur sera égale à zéro
exemple du nouveau code (il y a du c# pour vous faire comprendre)
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