KompüterVerilənlər bazası

SQL saxlanılan prosedurlar: yaratmaq və istifadə

SQL saxlanılır prosedurları saxlanıla bilər çalıştırılabilir proqram modulu var verilənlər bazası müxtəlif obyektlərin şəklində. Başqa sözlə, bu, SQL-bəyanat olan bir obyekt deyil. Bu saxlanılan prosedurlar yaxşı bir performans almaq üçün müştəri proqram icra edilə bilər. Bundan əlavə, qurğuların və tez-tez digər yazıları və ya hətta hər hansı digər bölməsində deyilir.

giriş

Bir çox insanlar müxtəlif prosedurları ilə eynidir ki, iman , yüksək səviyyəli proqramlaşdırma dilləri (MS SQL istisna olmaqla, müvafiq olaraq). Yəqin ki, bu doğrudur. Onlar oxşar dəyər verə bilər, oxşar parametrləri var. Bundan başqa, bəzi hallarda, onlar təmasda. Məsələn, onlar DDL verilənlər bazası və DML data, eləcə də istifadəçi funksiyaları (- UDF kod adı) ilə birləşir.

Əslində saxlanılan SQL prosedurları belə proseslər arasında ayırmaq üstünlükləri bir geniş var. Təhlükəsizlik, dəyişkənlik proqramlaşdırma məhsuldarlıq - bütün bu məlumat bazaları ilə iş istifadəçilər cəlb, daha və daha çox. Mən ad "SQL Server Management Studio" adlı "Microsoft" proqramı var zaman populyarlıq zirvəsinə il 2005-2010 prosedurları gəldi. Onun köməyi ilə, verilənlər bazası ilə iş daha asan daha praktik və rahat olmuşdur. Il sonra, bu informasiya ötürülməsi üsulu proqramlaşdırma mühitində populyarlıq qazanmışdır. Bu gün MS SQL Server users verilənlər bazası ilə "ünsiyyət" üçün, "Excel" ilə paralel dayandı tamamilə adi proqramdır.

Siz proseduru zəng zaman, dərhal lazımsız proseslərin və istifadəçinin müdaxiləsi olmadan server tərəfindən emal olunur. silinməsi, icrası, dəyişdirilməsi: Siz sonra məlumat hər hansı bir hərəkət edə bilərsiniz. Bütün bu artıq köməksiz həmin obyektlərin kompleks tədbirlər həyata DDL-operator, edir. Və bütün çox tez baş verir və server həqiqətən yüklü deyil. Bu sürətli və məhsuldarlıq tez server və əksinə istifadəçi məlumat böyük həcmdə köçürmək imkan verir.

məlumat bu işi həyata keçirmək üçün, bir neçə proqramlaşdırma dilləri texnologiyaları var. Bu, misal üçün, bu PL / SQL daxil verilənlər bazası idarəetmə sisteminin InterBase və Firebird sistemi Oracle, psql, həmçinin klassik "maykrosoftovskih» bağlamaq-SQL. Onların hamısı yaratmaq və böyük bir verilənlər bazası işleyicileri öz alqoritmlər istifadə üçün imkan, saxlanılır prosedurları çalıştırmak üçün nəzərdə tutulmuşdur. Bu zəruri və belə məlumatların idarə həyata keçirmək edənlər, icazəsiz üçüncü şəxslər və buna görə də, yaradılması, modifikasiyası və ya müəyyən məlumatların silinməsi bütün obyektlərin qorumaq bilər ki, təmin etmək üçün.

məhsuldarlıq

Bu verilənlər bazası obyektlərin müxtəlif yollarla proqramlaşdırılmış bilər. Bu istifadəçi vaxt və enerji qənaət ən uyğun olacaq prosesinin növü seçin imkan verir. Bundan əlavə, prosedur özü belə server və istifadəçi arasında rabitə sərf böyük vaxt aradan qaldırılması, emal olunur. modul reprogrammed və tamamilə hər hansı bir zamanda düzgün istiqamətdə dəyişdirilə bilər. sürəti diqqət çəkərək Xüsusilə dəyər olan SQL saxlanılan proseduru launch baş verir: prosesi rahat və çox yönlü bir edilməsi, buna oxşar sürətli digər.

təhlükəsizlik

informasiya emalı Bu növü geniş təhlükəsizlik təmin edir ki, analoji proseslər fərqlənir. Bu daxil prosedurları digər istifadəçilər tamamilə ləğv edilə bilər ki, təmin edir. Bu Administrator durdurma və ya verilənlər bazası icazəsiz daxil qorxusu olmadan, müstəqil onlarla əməliyyatlar aparmaq üçün imkan verir.

ötürülməsi

Saxlanılan SQL prosedur və müştəri tətbiqi arasında rabitə parametrləri istifadə və dəyərləri qaytarmaqdır. Sonuncu saxlanılan prosedura məlumat ötürmək lazım deyil, lakin (əsasən istifadəçi xahişi ilə) informasiya və SQL emal. Bir saxlanılır proseduru bu üsullarla olan misal üçün saxlanılır SQL prosedur və qaytarılması, zəng kimi həyata keçirilə bilər bir sıra istifadə edərək zəng tətbiqi (İstənilən halda, yenidən, lakin) geri data paket göndərir, onun iş tamamladı:

- məlumatların ötürülməsi Çıxış parametri növü vasitəsilə;

- geri şərhdə vasitəsilə məlumatların ötürülməsi;

- daşıyıcısı seçim vasitəsilə məlumatların ötürülməsi.

İndi bu proses eyni daxilində görünür necə oldu.

Yarat 1. SQL prosedur exec mərtəbəli

Siz MS SQL (Managment Studio) bir proseduru yarada bilərsiniz. proseduru yaradılmışdır sonra, prosedur yaradılması operator tərəfindən həyata keçirilir olan bir proqramlaşdırıla bazası node, verilmişdir. obyekt adı var EXEC-bir proses istifadə edərək, SQL saxlanılır prosedurları həyata keçirmək.

adını yaradılması sonra ilk proseduru gəlir və ona verilir bir və ya daha parametrləri etdi. Parameters isteğe ola bilər. parametri (s) sonra proseduru orqanı, yəni, bəzi lazımi əməliyyatlar həyata keçirmək lazımdır, yazdırdı.

fakt bədən yerləşən yerli dəyişənlərin, ola bilər ki, bu dəyişənlərin yerli və prosedurları ilə bağlı var. Başqa sözlə, onlar yalnız bədən müalicə ərzində hesab edilə bilər Microsoft SQL Server. Bu halda saxlanılır prosedurları yerli hesab olunur.

Belə ki, bir proses yaratmaq üçün, biz bir prosedur adı və proseduru orqanı kimi ən azı bir parametr lazımdır. bu halda əla variantdır classifier bir şeması adı ilə prosedurlarının yaradılması və həyata keçirilməsi olduğunu unutmayın.

proseduru bədən belə, masa bir və ya daha çox satır daxil, bir masa yaratmaq verilənlər bazası növü və xarakteri yaradılması və kimi, misal üçün, operatorlar SQL hər cür ola bilər. Buna baxmayaraq, prosedur bədən ki, bəzi əməliyyatları məhdudlaşdırır. ən əhəmiyyətli məhdudiyyətlər bəziləri aşağıda verilmişdir:

- bədən hər hansı digər saxlanılır proseduru yaratmaq etmir;

- bədən obyekt haqqında bir yalan təəssürat yaratmaq olmamalıdır;

- bədən hər hansı bir tetikler yaratmır.

proseduru orqanı dəyişən Set 2.

Siz orqanının prosedur dəyişənlərin yerli edə bilər, və onlar bir prosedur daxilində olacaq. A yaxşı təcrübə saxlanılır proseduru orqanının başında dəyişən yaratmaq. Amma siz də obyektin orqanı hər hansı dəyişənlərin bilərsiniz.

Bəzən bəzi dəyişənlər eyni sırada müəyyən və bir vergül ayrılmış hər dəyişən olduğunu görə bilərsiniz. Həmçinin dəyişən @ ilə prefixed olunur ki, qeyd. proseduru orqanı, siz istədiyiniz bir dəyişən bilərsiniz. Məsələn, NAME1 @ dəyişən proseduru orqanı sonuna elan edilə bilər. dəyişən bir dəyər təyin etmək üçün şəxsi məlumatların bir sıra istifadə edərək elan etdi. daha çox dəyişən eyni sırada elan vəziyyət fərqli olaraq, fərdi məlumatların yalnız bir set bu vəziyyətdə istifadə olunur.

"Necə proseduru orqanı bir şərhdə çox dəyərləri təyin etmək" Yaxşı? İstifadəçilər tez-tez sual. Maraqlı sual, lakin bu hesab edirəm ki, çox asandır. cavab: «Select Var = dəyər kimi cüt köməyi ilə". Siz virgülle ayrılmış bu cüt, istifadə edə bilərsiniz.

3. SQL saxlanılır proseduru yaradın

insanların nümunələri geniş bir sadə saxlanılır proseduru yaradılması göstərmək və bunu icra. Lakin prosedur zəng proses bu (lakin həmişə) yaxın bir dəyəri var ki, belə parametrləri bilər. Onlar uyğun, onda bədən daxilində müvafiq prosesləri başlayır. Məsələn, zəng şəhərin və regionda və müəllifləri müvafiq şəhər və rayon müraciət nə qədər məlumat qayıdacaqlar proseduru yaratmaq. proseduru bu hesablanması müəllifləri həyata keçirilməsi üçün, məsələn, Pablar üçün, müəlliflərin bir verilənlər bazası masa sorğu edəcək. Bu verilənlər bazası almaq üçün, məsələn, Google SQL2005 səhifə ilə SQL script indirir.

əvvəlki misal olaraq, prosedur İngilis şərti @State və @City adlandırmaq olardı iki parametrləri, edir. data type tətbiqi göstərilən növü uyğundur. proseduru bədən daxili dəyişənlər @TotalAuthors (bütün müəlliflər) var və bu dəyişən onların sayı keçirmək üçün istifadə olunur. Next bir bölüm seçim tələb bütün sayar gəlir. Nəhayət, hesablanmış dəyəri çap bəyanat istifadə çıxış pəncərə göstərilir.

SQL saxlanılır proseduru yerinə yetirmək üçün necə

proseduru yerinə yetirmək üçün iki yol var. ilk yol vergül ayrılmış siyahısı proseduru adına edildiyi kimi parametrləri keçərək göstərilir. biz (əvvəlki misal kimi) iki dəyərləri var düşünək. Bu dəyərlər dəyişənlərin və @State @City proseduru istifadə toplanmışdır. Bu üsulda, ötürülməsi üçün mühüm parametrləri. Bu üsul dəlilləri ötürülməsi ardıcıllığı adlanır. İkinci üsulda, parametrləri artıq sifariş vacib deyil bu halda birbaşa verilir. Bu ikinci üsul adlı arqumentlər ötürülməsi kimi tanınır.

proseduru az tipik boyun qaçırmaq bilər. Bütün əvvəlki misal kimi, eyni, lakin parametrləri yalnız burada keçdikdə olunur. Bu @City parametr ilk saxlanılır və @State növbəti default dəyəri saxlanılır. susmaya adətən ayrı-ayrı ayrılır. SQL saxlanılan prosedurlar kimi sadə parametrləri var. Bu halda, seçimi CA "" UT "default dəyəri əvəz" təmin edir. ikinci təcəssümü yalnız bir @City üçün dəlil dəyər və "CA" üçün @State seçimi yetirilməməsi keçir. Təcrübəli proqramçılar bütün default dəyişənlər parametr siyahısı sonuna yaxın yerləşir ki, tövsiyə edilir. Əks halda, icra sonra uzun və daha adlı arqumentlər mürəkkəb transferi ilə işləmək lazımdır, mümkün deyil.

4. Saklanan qaydası SQL Server: qaytarılması yolları

adlı qaydada saxlanılan məlumatların göndərmək üçün üç əsas yolu var. Onlar aşağıdakılardır:

- geri dəyərlər saxlanılır proseduru;

- Çıxış parametri saxlanılır prosedurları;

- Saxlanılan prosedurlar birini seçin.

SQL saxlanılan prosedurlar 4.1 qayıt dəyərlər

Bu proseduru, prosedur yerli dəyişən dəyəri müəyyən edir və qaytarır. proseduru da birbaşa sabit dəyər ola bilər. Aşağıdakı misalda, biz sponsorların ümumi sayı qaytarır proseduru yaratmışdır. bu əvvəlki qaydada müqayisə etsəniz, çap dəyəri əks ilə əvəz olunur ki, görürük.

İndi geri, proseduru yerinə və dəyəri keçirmək üçün necə baxaq. Performing prosedurları yaratmaq və prosesi sonra həyata keçirilir dəyişən çap üçün tələb olunur. əvəzinə operator çap məsələn, seçin @RetValue və OutputValue üçün seçin-operator istifadə edə bilərsiniz Notice.

4.2 Çıxış Parametr SQL saxlanılır prosedurları

cavab dəyər əvvəlki misal gördük bir dəyişən qayıtmaq üçün istifadə edilə bilər. proseduru Çıxdı verir istifadə zəng partiya bir və ya daha dəyişənlərin göndərmək üçün. proseduru oluştururken çıxış parametri vaxt bu açar sözü «Çıxış» qeydi edilir. parametr bir çıxış parametri kimi müəyyən edilərsə, prosedur obyekt bir dəyər təyin etməlidir. son məlumata qaytarılması belə bir vəziyyətdə, aşağıda görmək olar nümunələri olan saxlanılır prosedurları SQL.

Bu, məsələn, iki həftə sonları adı olacaq: @TotalAuthors və @TotalNoContract. Onlar parametr siyahısında müəyyən edilir. Bu dəyişənlər proseduru bədən daxilində dəyərlər verilir. biz çıxış parametrləri istifadə edərkən, zəng proseduru orqanı müəyyən dəyər bilərsiniz.

Bundan başqa, əvvəlki ssenari, iki dəyişənlərin saxlanılır prosedurları, bir çıxış parametri kimi MS SQL Server yüklü dəyərləri görmək üçün elan olunur. Sonra proseduru normal dəyər «CA» parametri tətbiq tərəfindən həyata keçirilir. Aşağıdakı parametrləri buna görə də, dəyişənlərin müəyyən edilmiş qaydada qəbul edilir elan çıxış və. dəyişən çıxış söz də burada müəyyən zaman ki, unutmayın. proseduru uğurla başa sonra, çıxış parametrləri istifadə edərək, geri dəyər mesaj pəncərə göstərilir.

4.3 SQL saxlanılan prosedurlar seçilməsi

Bu texnika saxlanılır proseduru zəng üçün forma masa data dəyərlər (yazı) bir sıra qayıtmaq üçün istifadə olunur. Bu, məsələn, SQL bu göstərici @AuthId geri qeydlər filtreleme masa "müəllifləri" sorğu @AuthID parametrləri ilə proseduru saxlanılır. Select operator saxlanılır proseduru zəng qaytarılmalıdır nə qərar verir. Saxlanılan proseduru geri ötürülən AUTHID zaman. Belə bir prosedur həmişə yalnız bir rekord və ya heç biri bütün qaytarır. Lakin, saxlanılan proseduru bir çox giriş qaytarılması heç bir məhdudiyyət yoxdur. Tez-tez misal olan hesablanmış dəyişənlərin ilə parametrləri istifadə edərək seçilmiş, geri data ümumi dəyərlərin bir plüralizmi təmin edilir bilər.

axırı

A saxlanılır proseduru görə müştəri tətbiqi zəruri dəyişənlərin yaradılması, eləcə də geri və ya transfer, olduqca ciddi proqramdır. saxlanılır proseduru server özü icra olduğundan, server və (bəzi hesablamalar üçün) müştəri tətbiqi arasında böyük həcmdə məlumat mübadiləsi yol verilə bilər. Bu mümkün əlbəttə, onların sahibləri əl, SQL Server haqqında yükü azaltmaq üçün edir. yarımnövü One T SQL prosedurları saxlanılır, lakin onların iş etkileyici məlumat bazasının yaradılması ilə məşğul olanlar üçün tələb olunur. saxlanılır prosedurları öyrənilməsi faydalı ola bilər nüanslar böyük, hətta böyük məbləği var, lakin planlaşdırırıq edənlər üçün bu ehtiyacı peşəkar, o cümlədən sıx proqramlaşdırma etmək.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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