-- CUSTOM ERRORS --
use Filmler
go
exec sp_addmessage @msgnum = 50001, @severity = 16, @msgtext = 'Bu bir hata mesajıdır!', @with_log = 'true'
-- @msgnum: 0 - 49999 (Sistem mesajları)
-- 50000 - ... (raiserror kaynaklı bizim kendi ürettiğimiz hatalar)
-- @severity: 0 - 16 (Kullanıcı veri girişinden kaynaklı hatalar, bu hataları kullanıcı düzeltebilir)
-- 17 (Disk dolu hatası)
-- 18 (Yazılımdan kaynaklı bir hata)
-- 19 (constraint hatası)
-- 20 - 25 (Çok kritik hatalar)
-- @msgtext: Mesaj string'i
-- @with_log: true (Windows tarafından log tutulup tutulmayacağını belirtir)
-----------------------------------------------------------------------------------------------------------
-- Hatayı kullanma:
go
create proc sp_hatayidene @id int
as
declare @count int
select @count = COUNT(*) from Film where id = @id
if @count = 0
begin
raiserror (50001, 16, 1)
end
else
begin
select * from Film where id = @id
end
-----------------------------------------------------------------------------------------------------------
go
exec sp_hatayidene 1
-----------------------------------------------------------------------------------------------------------
go
exec sp_hatayidene 0
-----------------------------------------------------------------------------------------------------------
go
drop proc sp_hatayidene
go
exec sp_dropmessage 50001 -- oluşturulan hata mesajını siler