Aracılığıyla paylaş


Tasarlama saklı yordamlar (veritabanı altyapısı)

Hemen hemen her Transact-SQL kod, yazılabilir gibi bir toplu iş yarat bir saklı yordam için kullanılabilir

Tasarım için kurallar saklı yordamları

Saklı yordamlar tasarlama kurallar şunlardır:

  • create procedure definition herhangi sayısı ve türü aþaðýdaki ifadeleri haricinde sql deyimlerini içerebilir.Bu saklı yordam içinde herhangi bir yerde kullanılamaz.

    TOPLAM OLUŞTURMA

    KURAL OLUŞTURMA

    VARSAYILAN OLUŞTURMA

    ŞEMA OLUŞTURMA

    create veya alter işlevi

    create veya alter tetikleyici

    create veya alter procedure

    create veya alter VIEW

    SET PARSEONLY

    SET SHOWPLAN_ALL

    SET SHOWPLAN_TEXT

    SET SHOWPLAN_XML

    KULLAN database_name

     

  • Diğer veritabanı nesneleri içinde oluşturulan bir saklı yordam.Aynı şekilde oluşturulmuş bir nesne başvurusu saklı yordam başvuruda bulunulan önce oluşturulan sürece.

  • Saklı yordam içindeki geçici tablolara başvuruda bulunabilir.

  • Saklı yordam içindeki yerel geçici tablo oluşturursanız, geçici tablo, yalnızca saklı yordamın amaçları için vardır; saklı yordam çıktığınızda yok olur.

  • Başka bir saklı yordamı çağıran bir saklı yordamı yürütmek, çağrılan depolanmış yordamın geçici tablolar da dahil olmak üzere ilk saklı yordam tarafından oluşturulan tüm nesnelerin erişebilir.

  • 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ı yordamlar bölümü hareketler uygulamayın.

  • En fazla bir saklı yordam içindeki parametreleri 2100 sayısıdır.

  • En fazla bir saklı yordam içindeki yerel değişkenler yalnızca kullanılabilen bellekle sınırlıdır.

  • Kullanılabilir bellek bağlı olarak en fazla bir saklı yordam 128 megabayt (mb) cinsinden boyutudur.

İçinde saklı yordamlar adları niteleme

İçinde saklı yordam, saklı yordam şema varsayılan şema nitelikli olmayan ifadeleri (örneğin, select veya Ekle) ile kullanılan adları nesne.Bir saklı yordam oluşturur bir kullanıcı tablo veya Görünüm Seç içinde başvurulan adını uygun değilse INSERT, update veya delete deyimleri içinde saklı yordam, saklı yordam aracılığıyla bu tablolara erişimi kısıtlanan varsayılan değer olarak oluşturan yordamı için.

Nesne adları kullanmak için diğer kullanıcılara ise create, alter veya drop deyimi, dbcc deyimleri, yürütme ve dinamik sql deyimleri nesnesi şema adını tam gibi tüm veri tanımlama dili (ddl) deyimleri ile kullanılan saklı yordam.Bu nesneler için şema adı adı sağlar belirterek çözümler bakılmaksızın aynı nesneye kimin çağıran saklı yordam olur.Şema adı belirtilirse, SQL Server öncelikle arayan veya execute as içinde belirtilen kullanıcı varsayılan şema kullanarak nesne adını çözümlemeye çalışır yan tümce tümce tümce ve sonra dbo şema.

Yordam tanımlarını obfuscating

create procedure özgün metni dönüştürmek için deyim obfuscated biçimi ile şifreleme seçeneğini kullanın.Gizleme çıktısını doğrudan sistem tabloları veya görünümler herhangi birinde görülmez SQL Server 2008: Sistem tabloları, sistem görünümleri veya veritabanı dosyalarına erişimi olmayan kullanıcılar obfuscated metni alınamıyor.Ancak, ayrıcalıklı kullanıcılar tarafından kullanılabilir veritabanı dosyaları için doğrudan erişimi olan metindir.Bu kullanıcılar saklı yordam tanımı özgün metni almak için gizleme mühendisi tersine çevirmek mümkün olabilir.

Deyim seçeneklerini ayarlama

The Veritabanı Altyapısı 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, set QUOTED_IDENTIFIER ve set ANSI_NULLS istemci oturum ayarları sırasında sayılır saklı yordam yürütme.Saklı yordamın içinde oluşan set QUOTED_IDENTIFIER ve set ANSI_NULLS ifadeleri saklı yordam işlevselliğini etkilemez.

Saklı yordam oluşturulduğunda veya değiştirilen diğer set set ARITHABORT gibi seçenekleri, set ANSI_WARNINGS veya set ANSI_PADDINGS kaydedilmez.Saklı yordam mantığına belirli bir ayara bağlı ise, uygun ayarı sağlamak için yordamı başlangıç set deyim içerir.Bir saklı yordam bir set deyim yürütüldüğünde, yalnızca saklı yordam tamamlanıncaya kadar ayarı etkin kalır.Ayar sonra saklı yordam çağrıldığında değerini için geri yüklenir.Böylece, bağımsız istemciler için küme seçenekleri saklı yordam mantığına etkilemeden istedi.

Not

ANSI_WARNINGS parametrelerinde iletirken değil ödenen bir saklı yordam, kullanıcı tanımlı bir işlev veya bildirmek ve toplu iş iş deyiminde değişkenlerini ayarlama.Örneğin, bir değişken char(3) tanımlanırsa ve sonra küme üç karakterden daha büyük bir değer için tanımlanan boyutu ve eklemek için veri kesilir veya update deyim başarılı.