MS SQL’de GOTO kullanarak oluşturmuş olduğumuz T-SQL kod bloklarında istediğimiz satırdan itibaren kodlarımızın çalıştırılmasını sağlayabiliriz. Bunun için T-SQL kod bloğumuzda etiketleme yapmamız gerekir, yani hangi satırdan devam edilecek ise o satıra bir isim atamak gerekir. Örnek ile devam edersek;
DECLARE @HataNumarasi INT; PRINT 'Kodlarımızın başlangıcı' PRINT 3/0; SET @HataNumarasi = @@ERROR; IF @HataNumarasi > 0 GOTO Hata_Etiketi; PRINT 'Hata Yok'; Hata_Etiketi: PRINT 'Hata oluştu';
Öncelikle HataNumarasi adında bir INT tipinde değişken oluşturdum. Daha sonra kodlarımın başlangıncını yazdırdım, ön bilgi olsun diye.. Daha sonra 3/0 işleminin sonucunu yazdırmak istedim. Tabi 3/0 olamayacağını biliyorum, çünkü hiç bir sayı 0’a bölünemez. Eğer hata oluşursa @HataNumarasi değişkenime bu hata kodu aktarılsın diye değişkenimi @@ERROR fonksiyonu ile bağladım. Hata oluşursa geriye 0’dan büyük bir değer döner. Eğer dönen değer 0’dan büyükse Hata_Etiketine git dedim. Hata çıkar ise PRINT ‘Hata Yok’ satırı çalışmayacak. Hata yoksa çalışacak.