içinde

SQL Server’da Saklanan Prosedürler

“SQL Server’da Saklanan Prosedürler
Depolanan Prosedürler, bir veritabanında n nesnesi olarak kaydedilen SQL ifadeleridir. Query Analyzer aracılığıyla ve diğer saklı yordamlarla etkileşimli olarak çağrılabilirler. Daha esnek hale getirmek için parametrelerle tanımlanabilirler ve sonuç kümeleri ve durum kodları döndürebilirler.

Avantajları şunları içerir:

Temel tablolara erişimi kısıtlama yeteneği;
Ağ bağlantılı bir ortamda artan güvenlik;
Araç, çağrılabilir alt yordamlarla yeniden kullanılabilir koda izin vererek bir uygulamanın veritabanı ucundaki programlamayı modüler hale getirir;
Önceden derlendikleri için daha hızlı yürütme;
Zorunlu veri prosedürleri aracılığıyla tablolardaki bütünlüğün korunması; ve
Ad hoc sorgulardan geçerken programlama hatası ve ağ trafiğinin azaltılması.
Dezavantajlar (kıyaslandığında soluk olan) şunları içerir:

Kodun taşınabilirliğini azaltıyor çünkü bunlar SQL Server’a özgü komutlar;
Frone-end ön uç arabirim dillerine kıyasla daha az güçlü ve esnek programlama dili;
Alt-par geliştirme ortamı, ancak Visual Studio .NET ile bu kolaylık geliştirildi.
Saklanan prosedürler, Query Analyzer’da ham dil, şablonlar kullanılarak veya Görünüm Oluşturma GUI’sinden kesilip yapıştırılarak oluşturulabilir. . Ve Depolanan Prosedür bölümüne sağ tıklayıp Yeni’yi seçerek Enterprise Manager’da oluşturulabilirler. . Ham sözdizimi:

PROC [EDURE] prosedür_adı [; numara ]
[{@ parameter data_type}
[DEĞİŞKEN] [= varsayılan] [ÇIKTI]
] [, … n]

[ İLE
{TAVSİYE | ŞİFRELEME | TAVSİYE, ŞİFRELEME}]

[REPLİKASYON İÇİN]

AS sql_statement [… n]

Depolanan Prosedürler (Sprocs) ya adıyla çağırılarak ya da gerekli parametreler (varsa) sağlanarak yürütülür. Prosedür bir toplu işteki ilk komut değilse, prosedür adının önüne EXEC ‘yazmanız gerekir. Bu gereksinimin nedeni, toplu iş modunda SQL Server’ın anahtar sözcükler bularak ifadeleri aramasıdır.

Oluşturma zamanında bir saklı yordam, var olmayan bir tabloya başvurabilir, ancak başka bir saklı yordam, var olmayan bir tabloya başvurmaz. Ancak, hiç var olmayan bir saklı yordama başvuramaz. 16 Ağustos 2005’te ge yayınlanacak. Komutu yayınlayarak, belirli bir tabloya veya belirli bir sproc tarafından referans verilen nesnelere başvuran bir zincir dişlisi listesi alabilirsiniz.

sp_depends (tablo adı | prosedür adı)

Ayrıca, nesneye sağ tıklayıp Tüm Görevler Menüsünde Bağımlılıkları Görüntüle’yi seçerek de Enterprise Manager’ı kullanabilirsiniz.

Sprocs, Enterprise Manager’dan sağ tıklatılarak, Özellikler’den, sistem tablosunu, syscomments’ı sorgulayarak veya sistemde depolanan Prosedür, sp_helptext ve ardından görüntülemek istediğiniz saklı yordamın adı kullanılarak görüntülenebilir. Depolanan yordamı düzenlemenin en iyi yolu Enterprise Manager’dır, ancak ALTER PROCEDURE komutu kullanılarak programlı olarak düzenlenebilir:

ALTER PROC [EDURE] prosedür_adı [; numara ]
[{@ parameter data_type}
[DEĞİŞKEN] [= varsayılan] [ÇIKTI]
] [, … n]
[ İLE
{TAVSİYE | ŞİFRELEME
| TAVSİYE, ŞİFRELEME
}
]
[REPLİKASYON İÇİN]
GİBİ
sql_statement [… n]

Depolanan bir yordamı oluşturmanın veya düzenlemenin etkili bir yolu, mevcut bir sproc’u bırakmak ve yeni bir tane oluşturmak için bir komut dosyası oluşturabilen Sorgu Çözümleyiciyi kullanmaktır. Yeni bir SELECT ifadesi oluşturmak için tıklayıp sürüklemek üzere Görünüm düzenleyicisi kullanılarak oluşturulabilir. Daha sonra bu SQL ifadesi kesilebilir ve Query Analyzer’a yapıştırılabilir, burada daha sonra test edilebilir ve hata ayıklanabilir.

Depolanan yordamlar, Query Analyzer’da nesne tarayıcısını açıp bir saklı yordama sağ tıklayıp Hata Ayıkla’yı seçerek hata ayıklanabilir.

Ne düşünüyorsun?

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

GIPHY App Key not set. Please check settings

SQL Server Dizinleri

Squidoo.com