Aracılığıyla paylaş


(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ı.