*

  • rdbms'lerde cogunlukla batch db i$lemlerinin tutuldugu ve db icinde compiled olarak duran bundan dolayi herhangi bir sql statement'tan daha hizli cali$an sql kod parcalarina denir.. (bkz: view)
  • parametrik query'ler için tercih edilir.
  • (bkz: trigger)
  • bilinen faydalari : yazilan query'ler database'de prepared halde durduğundan server'da tekrar tekrar query'ler derlenmez. arti olarak master/detail gibi yapilarda duran verilerde veri database üzerinde filtrelenerek veri taşımada raatlik saglanabilir. büyük uygulamalarda (bkz: enterprise applications) load balancing, remoting, cache gibi teknolojiler biraz kasabileceğinden geldiğinden iş yükünü zaten bunlari zaten yapan database serverlara yükleyip al şunu ver bunu diyerek kurtulmak mümkündür.

    hayatin gerçekleri : databaselerde platform bağımlılığına sebep olur. hizli olsun diye yazdiginiz kodlari baska db'ye taşındığınızda tekrar yazmak zorundasınızdır. bir çok basit veritabani stored procedure'leri desteklemez. prepared query`lerde ancak queryler çok karmaşık ise performans sağlanabilir. başkasının donuyla sokağa çıkmak gibi hatali tecrübelerden sonra load balancing, cache gibi fonks. kendiniz yapmaniz gerektiğini öğrenirsiniz.
  • bol bol commit & rollbackkullanılması gereken uygulamalarda "peki ya bunların tam ortasında bizim program çökerse?" şeklindeki kaygıları ortadan kaldırabilecek çözümlerden biri...
  • yazması aşırı zevkli birşey
  • stored procedure kullanmak güzel bir şeydir ama adam gibi kullanmak gerekir. mesela, string manipulasyonları ile sorgu cümleciği üretiyor ve bunu çalıştırıyorsanız, sp içinde yazmışsınız yazmamışsınız bir anlamı kalmaz. çalışan cümle, sp'nin daha hızlı çalışabilme özelliklerini kullanamaz.

    öte yandan; fazla raiserror kullanmamalısınızdır, performansa dikkat ediyorsanız.

    sp kullanmak, uygulama tasarımında çok kritik bir tercihtir. uygulamanın "business logic"icini nereye gömeceğinizi iyi kararlaştırmanız gerekir. eğer sql server'a gömeyim derseniz, uzunca, baş döndüren sp'ler yazarsınız. sql makinesi veri tabanlığın yanında application server gibi çalışır. yok dersiniz ki ben işi aplikasyona gömeyim, o zaman yine sp yazarsınız ama alma/vermeden sorumlu daha saf olur bunlar.

    sp_helptext için kısayol koyun bir de.
  • (bkz: sproc)
  • uygulama tarafında sizi bir çok kod ve kontrolden kurtararak kod karmaşasına mani olan ve veri tabanındaki bilgi tutarlılığını primary keyler veya relationship'lerin kurtarmadığı illa ki sizin tutarlılığı sağlamanızın gerektiği durumlarda büyük zahmetlerden kurtaran yapı.
  • database server'da saklanan sql ifadeleridir. bir programdaki fonksiyonlar gibi parametre alabilirler. ilk çalıştıkları zaman derlenirler. bir daha çalıştırıldıklarında derlenmeden çalışırlar. diğer özellikleri ise if, next, set gibi programlama deyimleri içerebilmeleridir.
hesabın var mı? giriş yap