Veritabanı Programlama Deneme Sınavı Sorusu #1075595

Aşağıdaki ifadelerden hangisi fonksiyonların ve saklı yordamların ilişkisi açısından yanlıştır?


Kullanıcı tanımlı fonksiyonların içerisinde herhangi bir yerde WHERE/HAVING/SELECT vb. kullanılabilirken saklı yordam kullanılamaz.

Kullanıcı tanımlı fonksiyon mutlaka bir tablo veya sayılı değer döndürmelidir. Saklı yordamların mutlaka değer döndürmeleri gerekmez.

  • Saklı yordamlarda veri işleme komutları çalıştırılabilirken kullanıcı fonksiyonlarında bu işlemler yapılamaz.

Saklı yordam içinde bölüm ikide anlatılan TRY CATCH yapısı ile hata ayıklama opsiyonu varken, fonksiyonlar içinde bu opsiyon yoktur.

Fonksiyon içinde hareket yönetimi varken, saklı yordam içinde bu mümkün değildir.


Yanıt Açıklaması:

İlk değerlendirmede kullanıcı fonksiyonlarının genel yapısı saklı yordamlara benzemekle beraber aralarında aşağıdaki farklar vardır:

  • Kullanıcı tanımlı fonksiyonların içerisinde herhangi bir yerde WHERE/HAVING/SELECT vb. kullanılabilirken saklı yordam kullanılamaz. Ayrıca saklı yordamda fonksiyonlar çağrılabilirken, fonksiyon içinde saklı yordam çağrılamaz.
  • Kullanıcı tanımlı fonksiyon mutlaka bir tablo veya sayılı değer döndürmelidir. Döndürdüğü tablo değeri, diğer tablolar ile JOIN vb. işlemler yapmak için kullanılabilir. Saklı yordamların mutlaka değer döndürmeleri gerekmez.
  • Saklı yordamlarda veri işleme (INSERT/UPDATE/DELETE) komutları çalıştırılabilirken kullanıcı fonksiyonlarında bu işlemler yapılamaz.
  • Saklı yordam içinde bölüm ikide anlatılan TRY CATCH yapısı ile hata ayıklama opsiyonu varken, fonksiyonlar içinde bu opsiyon yoktur.
  • Saklı yordam içinde ileriki bölümlerde anlatılan hareket yönetimi varken, fonksiyon içinde bu mümkün değildir.
  • Saklı yordamlar derlenmiş olarak veritabanında tutulurken, fonksiyonlar çalışma zamanında derlenir ve çalıştırılır.
Yorumlar
  • 0 Yorum