BilgisayarlarVeritabanları

SQL saklı prosedürleri: oluşturulduğu ve kullanıldığı

SQL saklı prosedürler saklanabilir çalıştırılabilir yazılım modülü vardır veri tabanında çeşitli nesnelerin formunda olabilir. Başka bir deyişle, SQL deyimi içeren bir nesnedir. Bu saklı yordamları iyi bir performans elde etmek için istemci uygulamasında yürütülebilir. Buna ek olarak, bu tür tesisler genellikle diğer komut dosyalarından hatta başka bölümünden denir.

tanıtım

Birçok kişi çeşitli prosedürlerine benzer olduğuna inanıyoruz yüksek seviyeli programlama dilleri (MS SQL hariç sırasıyla). Belki de bu durum geçerlidir. Onlar da benzer bir değer verebilir, benzer parametrelere sahip. Dahası, bazı durumlarda, onlar temas. Örneğin, DDL ve DML veri tabanları verileri, hem de kullanıcı fonksiyonları (- UDF kod adı) ile birleştirilir.

Aslında saklı SQL prosedürleri bu tür süreçler arasında ayırt avantajları geniş bir aralığı vardır. Emniyet, değişkenlik programlama verimlilik - tüm bu veritabanları ile çalışan kullanıcıların dikkatini çeker, daha fazla. Ben adı «SQL Server Management Studio'yu» altında "Microsoft" programı var popülerlik zirve, 2005-2010 yılları prosedürlerini geldi. Bunun yardımıyla, veritabanları ile çalışma, çok daha kolay daha pratik ve daha uygun hale gelmiştir. Yıllar geçtikçe, bu bilgiyi iletme metodu programlama ortamında popülerlik kazandı. Bugün, MS SQL Server kullanıcıları veritabanları ile "iletişim" için, "Excel" eşit durdu kesinlikle olağan bir programdır.

Eğer yordamı çağırmak, anında gereksiz süreçleri ve kullanıcı müdahalesi olmadan sunucu tarafından işlenir. silme, yürütme, değişim: Daha sonra bilgilerle herhangi bir eylem gerçekleştirebilir. Bütün bu aşkın tek başına bu nesneler üzerinde karmaşık eylemleri gerçekleştirmek DDL-operatör, yer almaktadır. Ve hepsi çok hızlı olur ve sunucu aslında yüklü değildir. Bu hız ve verimlilik hızlı sunucu ve tersi kullanıcıdan büyük miktarda bilgi aktarmak edelim.

bilgilerle bu işi uygulamak için çeşitli programlama dilleri teknolojiler var. Bunlar, örneğin gelen, PL / SQL dahil veritabanı yönetim sistemi Interbase ve Firebird sistemlerinde Oracle, PSQL yanı sıra klasik "maykrosoftovskih» Transact-SQL. Bunların hepsi oluşturmak ve büyük bir veritabanı işleyicileri kendi algoritmalarını kullanmak için izin saklı yordamlar çalıştırmak için tasarlanmıştır. Bu gerekli ve bu bilgilerin yönetimini yapanlara, yetkisiz üçüncü taraflar ve dolayısıyla oluşturma, modifikasyon veya belirli verilerin silinmeye tüm nesneleri korumak sağlamak için.

verimlilik

Bu veritabanı nesneleri farklı şekillerde programlanabilir. Bu, kullanıcıların zaman ve enerji tasarrufu en uygun olur sürecinin türünü seçmenize olanak verir. Buna ek olarak, prosedür kendisi böylece sunucu ve kullanıcı arasındaki iletişim için harcanan devasa zaman kaçınarak işlenir. Modül yeniden programlanması ve kesinlikle herhangi bir zamanda doğru yönde değiştirilebilir. hız belirterek Özellikle değerinde hangi SQL saklı yordam başlatılması oluşur: süreci uygun ve çok yönlü bir hale buna benzer daha hızlı başka bir şeydir.

emniyet

Bilgi işleme Bu tip o gelişmiş güvenlik sağladığı benzer süreçler farklıdır. Bu erişen prosedürlerden diğer kullanıcıların tamamen elimine edilebilir gerçeğiyle sağlanır. Bu yönetici engellemesi veya veritabanına yetkisiz erişim korkusu olmadan, bağımsız onlarla işlemlerini gerçekleştirme olanağı sağlayacak.

Veri aktarımı

Bir saklı SQL prosedürü ve istemci uygulaması arasındaki iletişim parametreleri kullanmak ve değerlerini döndürmektir. İkincisi bir saklı yordam için veri iletmek için gerekli değildir, ancak (çoğunlukla kullanıcının istek üzerine) bilgisi ve SQL için işlenmiş. Bir kez saklı prosedür yöntemler olan, örneğin, bir depolanmış SQL prosedürüne ve geri dönüş, bir çağrı olarak uygulanabilir kullanarak çeşitli arama uygulamaya (eğer istenirse, yine, fakat) geri veri paketleri gönderir görevini tamamlamış:

- veri iletim çıkış parametresi türü ile;

- geri deyimi üzerinden veri iletimi;

- taşıyıcı seçimi ile veri iletimi.

Ve şimdi bu süreç aynı içini nasıl göründüğünü bak.

Oluşturma 1. SQL prosedüründe EXEC-depolanmış

MS SQL (Managment Studio) bir yordam oluşturabilirsiniz. prosedür oluşturulduktan sonra, bu prosedür, oluşturma operatörü tarafından gerçekleştirildiği programlanabilir bir veritabanı düğümü, listelenir. nesne adını içeren EXEC-bir işlem kullanılarak SQL saklı yordamları yürütmek için.

adını oluşturarak daha sonra ilk prosedürü gelir ve zaman kendisine atanmış bir veya daha fazla parametre yaptı. Parametreler isteğe bağlı olabilir. parametre (ler) eklendikten sonra, prosedür gövdesi yani, bazı gerekli işlemleri gerçekleştirmek için gerekli olan, yazılacak.

Aslında vücut içinde bulunan yerel değişkenler, sahip olabileceği ve bu değişkenler yerel ve işlemlerle ilgili olarak da bulunmaktadır. Başka bir deyişle, sadece vücut bakımları içinde ele alınabilir Microsoft SQL Server. Bu durumda Saklı yordamlar yerel olarak kabul edilir.

Böylece, bir işlem oluşturmak için, bir işlem adı ve bir prosedür gövde olarak en az bir parametre gerekir. Bu durumda mükemmel bir seçenek sınıflandırıcı bir şema adıyla prosedürlerin oluşturulması ve uygulanması olduğuna dikkat edin.

prosedür gövdesi gibi üzerine, tablonun bir ya da daha fazla sıra sokulması, bir tablo oluşturma veritabanı türünü ve karakter oluşturulması ve, örneğin, operatörler SQL herhangi bir tür olabilir. Buna rağmen, prosedür vücut içine biraz işlemleri kısıtlar. En önemli sınırlamaları bazıları aşağıda sıralanmıştır:

- gövde başka saklı yordam oluşturmaz;

- Vücut nesnesi hakkında yanlış bir izlenim yaratmamalıdır;

- Vücut tetikleri oluşturmaz.

prosedür gövdesine değişken ayarlama 2.

Sen vücudun prosedürüne değişkenler yerel yapabilir ve sonra da bir prosedür vücut içinde olacaktır. İyi bir uygulama saklı yordam gövdesinin başında bir değişken oluşturmaktır. Ama aynı zamanda nesnenin vücudun herhangi bir yerinde değişkenleri ayarlayabilirsiniz.

Bazen bazı değişkenler aynı satırda yer alan ve virgülle ayırarak her değişken olduğunu fark edebilirsiniz. Ayrıca değişken @ öneki unutmayın. Prosedürün gövdesinde, istediğiniz bir değişken ayarlayabilirsiniz. Örneğin, NAME1 @ değişken prosedürü gövdesinin ucuna doğru duyurulabilir. Bir değişkene bir değer atamak amacıyla kişisel verilerin bir dizi kullanarak ilan etti. Birden fazla değişken aynı satırda beyan durumun aksine, kişisel verilerin sadece bir set bu durumda kullanılabilir.

"Nasıl prosedürün vücutta tek bir açıklamada birden fazla değer atamak 'Eh: Kullanıcılar genellikle soru sorun. İlginç bir soru, ancak bu düşündüğünüzden çok daha kolaydır. cevap: «Seç Var = değeri gibi çiftleri yardımıyla". Aralarına virgül koyarak bu çiftleri kullanabilirsiniz.

3. Bir SQL saklı yordam oluşturma

insanların örneklerinden çok çeşitli basit saklı yordam oluşturmak göstermek ve çalıştırmak. Ancak, prosedür çağırma işlemi o (ama her zaman değil) yakın bir değere sahip olacak bu tür parametreleri alabilir. Eğer uyarsa, o zaman vücut içinde gelen süreçleri başlatır. Örneğin, arayan gelen şehir ve bölge almak ve yazarlar gelen şehir ve bölge bakın ne kadar verileri döndürür bir prosedür oluşturursanız. Prosedür bu hesaplama yazarları gerçekleştirmek için, örneğin, Pubs için, yazarların bir veritabanı tablosu sorgular. Bu veritabanlarını elde etmek için, örneğin Google SQL2005 sayfasıyla SQL komut dosyasını indirir.

Önceki örnekte, prosedür İngilizce şartlı @State ve @City aranmak iki parametre alır. veri tipi uygulamada belirtilen türüne karşılık gelir. Prosedür vücut iç değişkenler @TotalAuthors (tüm yazarlar) vardır ve bu değişken onların numarasını görüntülemek için kullanılır. Sonraki bir bölüm seçme isteği tüm sayar gelir. Son olarak, hesaplanan değer baskı ifadesini kullanarak çıkış penceresinde görüntülenir.

Bir SQL saklı yordamı gerçekleştirmek için nasıl

prosedürü gerçekleştirmek için iki yol vardır. Birinci yol virgülle ayrılmış listesi prosedürü adı sonra yapılır olarak parametreler geçen gösterilmiştir. Biz (önceki örnekte olduğu gibi) iki değer olduğunu varsayalım. Bu değerler değişkenleri ve @State @City prosedürü kullanılarak toplanır. Bu yöntemde, iletim düzenin önemli parametreler. Bu yöntem, bağımsız değişken iletim sekansı olarak adlandırılır. İkinci yöntemde, parametreler zaten sırası önemli değildir, bu durumda, doğrudan atanır. Bu ikinci yöntem, adı bağımsız değişken iletimi olarak bilinir.

prosedür hafif tipik farklı olabilir. Bütün önceki örnekte olduğu gibi, aynı fakat parametreler sadece burada kaydırılır. Yani @City parametresi ilk depolanır ve @State sonraki varsayılan değere saklanır olduğunu. Varsayılan ayar genellikle ayrı olarak tahsis edilir. SQL saklı yordamları gibi basit parametrelerdir. Bu durumda, seçenek CA " "UT 'varsayılan değer değiştirir" sağladı. ikinci bir düzenleme sadece bir @City için bağımsız değişken değeri ve "CA" olarak @State seçenek varsayılan geçer ise. Deneyimli programcılar tüm varsayılan değişkenleri parametre listesinin sonuna yakın yer aldığını tavsiye edilir. Aksi takdirde, yürütme sonra daha uzun ve adlandırılmış argümanları komplike devri ile çalışmak zorunda, mümkün değildir.

4. Saklanan Prosedürler SQL Server: dönen yolları

denilen prosedür depolanan veri göndermek için üç ana yolu vardır. Bunlar aşağıda sıralanmıştır:

- dönüş değerleri saklı yordam;

- Çıkış parametresi saklı işlemler;

- saklı prosedürlerden birini seçin.

SQL saklı prosedürler 4.1 Dönüş değerleri

Bu prosedürde, işlem lokal değişkenin değerini belirler ve bunu döndürür. Prosedür, aynı zamanda, doğrudan sabit bir değer döndürebilir. Aşağıdaki örnekte, sponsor sayısını döndüren bir prosedür oluşturduk. Bu önceki prosedüre karşılaştırırsanız, baskının kalitesinin ters değiştirilir görebilirsiniz.

Şimdi geri, işlemi gerçekleştirmek ve değerini görüntülemek için nasıl bakalım. Sahne işlemleri kurmak ve işleminden sonra gerçekleştirilir değişken bir baskı için gereken. yerine operatörü baskı örneğin, Seç @RetValue ve OutputValue için, Seç-operatörünü kullanabilirsiniz dikkat edin.

4.2 Çıktı Parametre SQL saklı yordamları

tepki değeri, önceki örnekte gördüğümüz tek bir değişken dönmek için de kullanılabilir. prosedürü Çıktı sistemi kullanmak, arayan tarafa bir veya daha fazla değişken göndermek için. prosedürü oluştururken Çıktı parametresi süresi olarak bu tuş kelimesini «Çıktı» belirtilir. Parametre bir çıkış parametresi olarak belirtilirse, prosedür amacı, bir değer atamak gerekir. Nihai bilgilere dönen böyle bir durumda, aşağıda görüleceği örnekleri Saklı yordamlar, SQL,.

Bu örnekte, iki hafta sonları adı olacak: @TotalAuthors ve @TotalNoContract. Bunlar parametre listesinde belirtilir. Bu değişkenler prosedür gövdesi içindeki değerleri atanır. Biz çıkış parametreleri kullandığınızda, arayan prosedürü vücutta set değerini görebilirsiniz.

Buna ek olarak, daha önceki bir senaryoda, iki değişken saklı prosedürler, bir çıkış parametresi olarak, MS SQL Server yüklü değerleri görmeye bildirilmiştir. Ardından prosedür, normal değerinin «CA» parametre uygulanarak gerçekleştirilir. Aşağıdaki parametreler bu nedenle değişkenler öngörülen şekilde geçirilir ilan çıktı ve. Değişken çıkış anahtar da burada belirtilen zaman unutmayınız. işlem başarıyla tamamlandıktan sonra çıkış parametreleri kullanılarak döndürülen değer mesajı penceresinde görüntülenir.

4.3 SQL saklı prosedürler seçilmesi

Bu teknik, bir saklı yordam çağırmak için bir şekilde tablo veri değerleri (RecordSet) 'de bir dizi döndürmek için kullanılır. Bu örnekte, SQL bu parametre @AuthId tarafından döndürülen kayıtları filtreleyerek tablosu "yazarlar" istekleri @AuthID parametrelerle saklı yordamı. Operatör seçin saklı bir yordam çağırma iade edilmesi gerektiğini karar verir. bir depolanmış prosedür geri iletilen AuthId zaman. Böyle bir prosedür her zaman tek bir kayıt ya da hiçbirini döndürür. Ancak, saklı yordam birden fazla girdinin dönüşü konusunda herhangi bir kısıtlama bulunmamaktadır. Genellikle örnekler, hesaplanan değişkenler parametreler kullanılarak seçilen dönüş veri toplam değerlerinin bir sayıda sağlayarak yapılır bulunabilir.

Sonuç olarak

Bir saklı yordam bağlı istemci uygulaması için gerekli değişkenleri kurmak, hem de geri dönen veya transfer oldukça ciddi bir programdır. saklı yordam sunucunun kendisinde yürütüldüğünde bu yana, sunucu ve (bazı hesaplamalar için) istemci uygulaması arasında büyük hacimlerde veri alışverişi önlenebilir. Bu sayede elbette, onların sahiplerinin eldir, SQL server, üzerindeki yükü azaltmak için yapar. alttür biri T SQL prosedürleri saklanır, ancak onların çalışma etkileyici bir veritabanının oluşturulması katılanların için gereklidir. saklı prosedürlerin çalışmasında yararlı olabilir nüansları büyük, hatta büyük miktarda bulunmaktadır, ancak, planlayan kişiler için bu ihtiyaç profesyonel dahil, sıkı programlama yapmak.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 tr.delachieve.com. Theme powered by WordPress.