RačunalaBaze podataka

SQL pohranjene procedure: kreiranje i upotreba

SQL pohranjene procedure izvršne softverski modul koji se može pohraniti u bazu podataka u obliku raznih predmeta. Drugim riječima, to je predmet koji sadrži SQL izjavu. Ove pohranjene procedure mogu se izvršiti u klijentsku aplikaciju da biste dobili dobar učinak. Osim toga, takvi objekti se često nazivaju iz drugih skripti ili čak od bilo koje druge sekcije.

uvod

Mnogi ljudi vjeruju da su slične postupke različitih visokom nivou programskih jezika (odnosno, osim za MS SQL). Možda je to istina. Oni imaju slične parametre, oni mogu izdati slične vrijednosti. Osim toga, u nekim slučajevima, oni dolaze u dodir. Na primjer, oni su u kombinaciji sa bazama podataka DDL i podataka DML, kao i korisničke funkcije (kodni naziv - UDF).

Zapravo pohranjene SQL procedure imaju širok spektar prednosti koje ih razlikuju među takvim procesima. Sigurnost, produktivnost programiranje varijabilnost - sve to privlači korisnicima rad sa bazama podataka, sve više i više. Vrhunac popularnosti došao procedura za godine 2005-2010, kada sam dobio program iz "Microsofta" pod nazivom «SQL Server Management Studio». Sa svojim pomoć, rad sa bazama podataka je postalo mnogo lakše, praktičnije i više zgodan. Iz godine u godinu, ova metoda prenošenja informacija stekao popularnost u programskom okruženju. Danas, MS SQL Server je potpuno uobičajen program koji korisnicima da "komunicira" sa bazama podataka, stajao u rangu sa "Excel".

Kada pozovete postupak, on se odmah obrađuje server bez nepotrebnih procesa i intervencije korisnika. Zatim možete izvoditi bilo kakve akcije sa informacijama: brisanje, izvršenje, promjene. Više od svega toga je u DDL-operater, koji samostalno obavljaju složene radnje na tim objektima. I sve to se događa vrlo brzo, a server se zapravo nije napunjen. Ovaj brzinu i produktivnost vam omogućavaju da brzo prijenos velikih količina informacija od korisnika na server i obratno.

Za realizaciju ovog rada sa informacijama, postoji nekoliko programskih jezika tehnologija. To uključuje, na primjer, PL / SQL iz sistema za upravljanje bazama podataka Oracle, PSQL u InterBase i Firebird sistema, kao i klasični "maykrosoftovskih» Transact-SQL. Svi oni su dizajnirani za stvaranje i pokretanje pohranjene procedure, što vam omogućava da koriste svoje algoritme na velikom viljuškari baze podataka. Neophodno je i da se osigura da oni koji obavljaju upravljanje takvih informacija, može zaštititi sve objekte od neovlaštenog trećih strana i, stoga, stvaranje, izmjenu ili brisanje određenih podataka.

produktivnost

Ovi objekti baze podataka mogu se programirati na različite načine. To omogućava korisnicima da odaberete vrstu procesa koji bi bio najprikladniji, čime se štedi vrijeme i energiju. Osim toga, sam postupak se obrađuje, čime se izbjegava ogromnu količinu vremena provedenog na komunikaciju između servera i korisnika. Modul se može reprogramirati i promijenjen u pravom smjeru u apsolutno svakom trenutku. Posebno napomenuti brzinu kojom lansiranjem SQL pohranjene procedure javlja: proces je brži druge slične na njega, što je zgodan i svestran.

bezbjednost

Ova vrsta obrade informacija razlikuje od sličnih procesa u smislu da pruža poboljšanu sigurnost. Ovo je osigurano i činjenica da drugi korisnici pristupaju procedura može biti eliminirana u potpunosti. To će omogućiti administratoru da samostalno obavlja poslove s njima, bez straha od prisluškivanja ili neovlaštenog pristupa bazi podataka.

prijenos podataka

Komunikacija između pohranjene SQL procedura i aplikacija klijenta je da se koristi parametre i vratiti vrijednosti. Potonji nije potrebno da dostavi podatke pohranjene procedure, ali informacije (uglavnom na zahtjev korisnika), i obrađeni za SQL. Jednom pohranjene procedure završi svoj posao, on šalje pakete podataka leđa (ali opet, ako je potrebno) za primjenu pozivanje koristeći razne metode koje se mogu implementirati kao poziv na pohranjene SQL procedure i povratak, na primjer:

- prijenos podataka preko Izlaz tip parametra;

- prijenos podataka preko izjavu povratka;

- prijenos podataka putem izbora operatora.

I sad pogledaj kako taj proces izgleda isto unutra.

1. Kreirajte EXEC-pohranjeni u SQL procedure

Možete kreirati proceduru u MS SQL (Managment Studio). Nakon što je stvorio postupak, kako je naveden na programabilni čvoru bazu podataka, u kojoj se postupak obavlja operator stvaranja. Za izvršavanje SQL pohranjene procedure pomoću EXEC-proces koji sadrži naziv objekta.

Prilikom kreiranja ime dolazi prvom postupku, a onda je napravio jedan ili više parametara koji su dodijeljeni s njim. Parametri mogu biti opcionalno. Nakon parametar (e), odnosno tijelo postupka, koji će biti napisano, potrebno je izvršiti neke neophodne operacije.

Činjenica da tijelo može imati lokalne varijable, nalazi u njemu, i ove varijable su lokalne i u odnosu na procedure. Drugim riječima, mogu se smatrati samo unutar tretmani za tijelo Microsoft SQL Server. Pohranjene procedure u ovom slučaju se smatra lokalnim.

Dakle, da se stvori proces, potrebna nam je ime postupak i barem jedan parametar kao tijelo postupak. Imajte na umu da je odličan izbor u ovom slučaju je stvaranje i implementacija procedura sa ime sheme u klasifikator.

Tijelo postupak može imati bilo koju vrstu operatera SQL-a, na primjer, kao što je kreiranje tabele, umetanjem jednog ili više redova tabele, uspostavljanje tip baze i karakter, i tako dalje. Ipak, tijelo postupak ograničava neke operacije u njemu. Neki od najvažnijih ograničenja su navedene ispod:

- tijelo ne stvara bilo koji drugi pohranjene procedure;

- tijelo ne smije stvoriti lažni dojam o predmetu;

- tijelo ne stvara nikakve okidače.

2. Podesite varijabla u tijelu postupka

Možete napraviti varijable lokalne na postupak tijela, a onda će biti u tijelo postupak. Dobra praksa je da se stvori varijablu početkom pohranjene tijelu procedure. Ali također možete postaviti varijable bilo gdje u tijelu objekta.

Ponekad možete primijetiti da neke varijable su postavljene u istom redu, a svaka varijabla odvojene zarezom. Također imajte na umu da je varijabla sa prefiksom @. U telu postupka, možete postaviti varijablu koju želite. Na primjer, varijabla @ NAME1 može biti objavljen krajem tijela postupka. Kako bi se dodijeliti vrijednost varijable proglašen pomoću seta podataka o ličnosti. Za razliku od situacije kada je više od jedne varijable proglašen u istom redu, samo jedan set osobnih podataka koji se koriste u ovoj situaciji.

Korisnici često postaviti pitanje: "Kako dodijeliti više vrijednosti u jednoj izjavi u tijelu postupka" Pa?. Zanimljivo pitanje, ali to je mnogo lakše nego što mislite. Odgovor: uz pomoć takvih parova kao «Izaberite Var = vrijednost". Možete koristiti ove parova, odvojene zarezima.

3. Napravite SQL pohranjene procedure

U velikom broju primjera ljudi pokazuju stvaranje jednostavan pohranjene procedure i izvršiti ga. Međutim, postupak može trajati takve parametre koji proces poziv da će imati vrijednost blizu toga (ali ne uvijek). Ako se podudaraju, zatim počinje odgovarajuće procese u organizmu. Na primjer, ako kreirate postupak koji će se grad i regiju iz poziva i vratiti podatke o tome koliko autori se pozivaju na odgovarajući grada i regije. Postupak će se upit tablice baze podataka autora, na primjer, Pubovi, za obavljanje ovaj obračun autora. Da biste dobili ove baze podataka, na primjer, Google preuzima SQL skripta sa SQL2005 stranici.

U prethodnom primjeru, postupak traje dva parametra, koji na engleskom jeziku će biti pozvan uslovno @State i @City. Tip podataka odgovara vrsti navedene u prijavi. Tijelo procedura ima interne varijable @TotalAuthors (svih autora), a ova varijabla se koristi za prikaz njihov broj. Zatim dolazi sekcija izbor zahtjev da se sve računa. Konačno, izračunata vrijednost se prikazuje u prozoru izlaz pomoću naredba print.

Kako izvesti SQL pohranjene procedure

Postoje dva načina za obavljanje postupka. Prvi put je prikazan donošenjem parametrima kao zarezom odvojene vrši iza naziva postupak. Pretpostavimo da imamo dvije vrijednosti (kao u prethodnom primjeru). Ove vrijednosti su prikupljeni pomoću varijabli i @State @City postupak. U ovoj metodi, važnih parametara reda prenosa. Ova metoda se zove prijenos slijed argumenata. U drugom metodom, parametri su već dodijeljena direktno, u tom slučaju bi nije važno. Ova druga metoda je poznata kao prenos imenovane argumente.

Postupak mogu neznatno odstupati od tipičnih. Svi isti, kao u prethodnom primjeru, ali parametri se ovdje prebacuje samo. To je @City parametar se čuva prvo i @State čuvaju pored default vrijednosti. Prema standardnoj postavci se obično izdvaja odvojeno. SQL pohranjene procedure su jednostavne parametre. U ovom slučaju, pod uslovom da je opcija "UT" zamjenjuje zadanu vrijednost "CA". U drugoj izvedbi prolazi samo jedan argument vrijednosti za @City, i @State opcija postavljena na "CA". Iskusni programeri se savjetuje da se svi zadani varijable nalaze se bliže kraju liste parametara. U suprotnom, izvršenje nije moguće, onda morate raditi sa prenosom imenovane argumente da što duže i složenije.

4. Pohranjene procedure SQL Server: načine vraćanja

Postoje tri glavna načina za slanje podataka pohranjenih u postupku zvao. Oni su navedeni ispod:

- povratak vrijednosti pohranjene procedure;

- Izlazni parametar pohranjene procedure;

- Izaberite jednu od pohranjenih procedura.

4.1 Povratak vrijednosti SQL pohranjene procedure

U ovom postupku, postupak postavlja vrijednost lokalne varijable i vraća. Postupak može direktno vratiti konstantnu vrijednost. U sljedećem primjeru, stvorili smo postupak koji vraća ukupan broj sponzora. Ako se to porediti sa prethodnom postupku, možete vidjeti da je vrijednost štampe zamjenjuje se obrnuto.

Sada pogledajmo kako obaviti postupak i prikazati vrijednost, vratite ga. Obavljanje procedure potrebne za uspostavljanje i varijabilne štampe, koja se provodi nakon procesa. Obratite pažnju na to, umjesto štampanja operater može koristiti za odabir operatora, na primer, odaberite @RetValue i OutputValue.

4.2 izlazni parametar SQL pohranjene procedure

vrijednost odgovor se može koristiti da se vrati jednu varijablu koja smo vidjeli u prethodnom primjeru. Koristeći izlaz omogućava postupak za slanje jednog ili više varijabli drugom stranom. Izlazni parametar označen kao put ove ključna riječ «izlaz» pri kreiranju postupak. Ako je parametar naveden kao izlazni parametar, objekat postupak mora se dodijeliti vrijednosti. Pohranjene procedure SQL, od kojih primjera možete pogledati u nastavku, u tom slučaju vraća u konačnu informaciju.

U ovom primjeru, da će biti dva vikenda ime: @TotalAuthors i @TotalNoContract. Oni su navedeni u listi parametara. Ove varijable se dodjeljuju vrijednosti u tijelu procedure. Kada koristimo parametre izlazu, poziva može vidjeti vrijednost postavljena u organizmu postupku.

Osim toga, u prethodnom scenariju, dvije varijable su proglašeni da vide vrijednosti koje su instalirane pohranjene procedure, MS SQL Server kao izlazni parametar. Tada se postupak obavlja primjenom normalne vrijednosti «CA» parametar. Sledeći parametri su izlaz i stoga proglašen varijable se prenose na propisani način. Imajte na umu da kada izlazna varijabla ključnu riječ i ovdje navedeno. Nakon što je postupak uspješno završena, vrijednost vraćena pomoću izlazni parametri su prikazani na prozoru poruke.

4.3 Izbor SQL pohranjene procedure

Ova tehnika se koristi da se vrati set u obliku tabele vrijednosti podataka (Recordset) za pozivanje pohranjene procedure. U ovom primjeru, SQL pohranjene procedure sa parametrima @AuthID traži stola "autora" filtriranjem evidencije vratio ovim parametrom @AuthId. Izaberi operatera odlučuje šta treba da se vrati na pozivanje pohranjene procedure. Kada AUTHID pohranjene procedure prenose nazad. Takav postupak je uvijek vraća samo jedan zapis ili uopšte. Međutim, pohranjene procedure nema ograničenja na povratak više od jedne stavke. Često primjeri se mogu naći u kojima su podaci povratak izabrati pomoću parametara izračunate varijable vrši se pruža pluralitet ukupno vrijednosti.

u zaključku

A pohranjena procedura je prilično ozbiljan program, vratio ili prenesena, kao i uspostavljanje potrebne varijable zbog primjene klijenta. S obzirom da je pohranjena procedura se izvršava na samom serveru, razmjena podataka u velikim količinama između servera i klijentske aplikacije (za neke kalkulacije) može se izbjeći. Zbog toga je moguće da se smanji opterećenje na SQL Server, što je, naravno, je ruka njihovih vlasnika. Jedan od podvrste su pohranjene procedure T SQL, ali njihova studija je potrebno da se onima koji su uključeni u stvaranju impresivne baze podataka. Tu je i veliki, čak i velika količina nijanse koje mogu biti korisne u studiji pohranjenih procedura, međutim, ta potreba za one koji planiraju da to čvrsto programiranje, uključujući i profesionalno.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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