(Veritabanı Altyapısı) Saklý Yordamlarý tasarlama
Hemen hemen tümTransact-SQLkod, yazılabilir gibi bir toplu iş yarat bir saklı yordam için kullanılabilir
Yordam tasarlama kuralları saklı
Saklı yordamlar tasarlamak için kurallar şunlardır:
CREATE PROCEDURE definition tüm sayısını ve türünü aþaðýdaki ifadeleri haricinde SQL deyimleri içerebilir.Bu saklı yordam içinde herhangi bir yerde kullanılamaz.
toplamak OLUŞTURMA
Kural Oluştur
VARSAYILAN OLUŞTURMA
ŞEMA OLUŞTURMA
CREATE veya ALTER işlev
CREATE veya ALTER TRIGGER
CREATE veya ALTER PROCEDURE
CREATE veya ALTER VIEW
küme PARSEONLY
küme SHOWPLAN_ALL
küme SHOWPLAN_TEXT
küme SHOWPLAN_XML
KULLANIMI database_name
Diğer veritabanı nesneleri içinde oluşturulmuş bir saklı yordam.Başvuruda bulunulan önce oluşturulduğu sürece aynı saklı yordam içinde oluşturulan nesneyi başvurabilirsiniz.
Geçici tablolar içinde baþvurabilirsiniz bir saklı yordam.
Saklı yordam içindeki yerel geçici tablo oluşturursanız, yalnızca saklı yordam amacıyla geçici tablo mevcut; saklı yordam çıktığınızda kaldırılır.
Başka bir saklı yordamı çağıran bir saklı yordam yürütmek, saklı yordam adı verilen geçici tablolar da dahil olmak üzere ilk saklı yordamı ile oluşturulan tüm nesnelerin erişebilirsiniz.
If you execute a remote stored procedure that makes changes on a remote instance of Microsoft SQL Server, those changes cannot be rolled back.Uzak saklı yordam hareketleri bir parçası olmayacağına.
En fazla bir saklı yordam parametreleri 2100 sayısıdır.
Kullanılabilir bellek tarafından yalnızca bir saklı yordam içindeki yerel değişkenler sayısı sınırlıdır.
Bellek bağlı olarak, bir saklı yordam en büyük boyutu 128 megabayt (MB) ' dir.
Uygun adlar içinde saklı yordamları
Bir saklı yordam varsayılan şeması saklı yordam, şemanın nitelikli olmayan deyimleri (örneğin, SELECT veya INSERT) kullanılan adları nesne.Bir saklı yordam oluşturan kullanıcının adı tablo veya Görünüm SELECT başvurulan uygun, INSERT, UPDATE veya DELETE deyimleri içinde saklı yordam, bu tabloları saklı yordam aracılığıyla erişimi kısıtlı varsayılan oluşturan yordamı için.
Nesne adları gibi diğer kullanıcıların kullanmak için CREATE, DROP veya ALTER deyimleri, DBCC ifadeleri, yürütmek ve dinamik SQL deyimleri nesnesi şema adıyla tam tüm veri tanımlama dili (DDL) ifadeleri ile kullanılan saklı yordam.Şema adı bu nesnelerin adını sağlar belirten arayan saklı yordam olan aynı nesneye bağımsız olarak çözümler.Şema adı belirtilmezseSQL Serverilk arayan ya da yürütmek AS belirtilen kullanıcının varsayılan şeması kullanarak nesne adını çözümlemeye çalışır yan tümce vedbo schema.
Yordam tanımlarını obfuscating
Özgün metin CREATE PROCEDURE deyiminin obfuscated bir biçime dönüştürmek için WITH şifreleme seçeneğini kullanın.Gizleme hile şaka çıktısını doğrudan herhangi bir sistem tabloları veya görünümlerinde görünür durumda değilse SQL Server 2008: sistem tabloları, Sistem görünümleri veya veritabanı dosyalarına erişimi olmayan kullanıcılar obfuscated metin alamıyor. Ancak, ayrıcalıklı kullanıcılar tarafından kullanılabilir veritabanı dosyaları doğrudan erişimi olan metindir.Bu kullanıcıların özgün metin saklı yordamı tanımlı almak için obfuscation mühendisi tersine çevirmek mümkün olabilir.
küme bildirimi seçenekleri
The Database Engine saves the settings of both SET QUOTED_IDENTIFIER and SET ANSI_NULLS when a Transact-SQL stored procedure is created or altered.Saklı yordam çalıştırıldığında bu özgün ayarlar kullanılır.Bu nedenle, saklı yordam yürütülürken küme QUOTED_IDENTIFIER ve küme ANSI_NULLS istemci oturum ayarları dikkate alınmaz.Saklı yordamda oluşan küme QUOTED_IDENTIFIER ve küme ANSI_NULLS ifadeleri saklı yordam işlevselliğini etkilemez.
Bir saklı yordam oluşturulduğunda veya değiştirilen diğer küme küme ARITHABORT gibi seçenekleri, küme ANSI_WARNINGS veya ANSI_PADDINGS küme kaydedilmez.Belirli bir ayar saklı yordam mantığına bağlıdır, uygun ayarı sağlamak için bu yordamı, başındaki bir küme deyim içerir.Bir saklı yordam bir küme deyim yürütüldüğünde, ayarı yalnızca saklı yordam tamamlanıncaya kadar etkin kalır.Ayar değeri saklı yordam çağrıldığında vardı sonra geri yüklenir.Böylece, her istemciye küme seçenekleri, saklı yordam mantığına etkilemeden istedi.
Not
ANSI_WARNINGS, kullanıcı tanımlı bir saklı yordam parametreleri geçirme değil ödenen işlev, ya bildirmek ve toplu iş iş deyim değişkenlerini ayarlama.Örneğin, bir değişken char(3) ' tanımlanmış olması durumunda ve küme üç karakterden daha büyük bir değer için veri atılır, tanımlı boyutunu ve INSERT veya UPDATE deyim başarılı.
See Also