RačunalnikiBaze podatkov

SQL shranjenih procedur: ustvarjanje in uporaba

SQL shranjenih procedur je izvršljiv programski modul, ki se lahko shranijo v podatkovni bazi v obliki različnih predmetov. Z drugimi besedami, gre za objekt, ki vsebuje SQL-izjavo. Te shranjene procedure se lahko izvede v vlogi stranke, da bi dobili dobre rezultate. Poleg tega so ti objekti pogosto imenujejo od drugih skripte ali celo iz katerega koli drugega dela.

uvod

Mnogi ljudje verjamejo, da so podobni postopkom različnih visoki ravni programskih jezikov (oziroma, razen za MS SQL). Morda je to res. Imajo podobne parametre, ki jih lahko izda podobno vrednost. Še več, v nekaterih primerih, ko pridejo v stik. Na primer, so v kombinaciji z zbirkami podatkov DDL in podatkov DML, kot tudi uporabniških funkcij (kodno ime - UDF).

Pravzaprav shranjenih procedur SQL imajo številne prednosti, ki jih razlikujejo med takimi postopki. Varnost, variabilnost programiranje produktivnost - vse to privablja uporabnike, ki delajo z bazami, bolj in bolj. Vrhunec priljubljenosti prišel postopkov v letih 2005-2010, ko sem dobil program iz "Microsoft" pod imenom «SQL Management Server Studio». Z njeno pomočjo je delo z bazami podatkov postalo veliko lažje, bolj praktičen in bolj udoben. Iz leta v leto, je ta način prenosa informacij pridobil popularnost v programskem okolju. Danes, MS SQL Server je povsem običajno programa, ki je za uporabnike, "komunicirajo" z bazami, stal na nivoju "Excel".

Ko pokličete postopek, je takoj obdela strežnik brez nepotrebnih procesov in posredovanja uporabnika. Nato lahko opravlja vse ukrepe, s podatki: brisanje, izvedba sprememb. Nad vsem tem je v DDL-operater, ki je z eno roko opravljanje zahtevnejših ukrepov na teh objektih. In vse to se zgodi zelo hitro in strežnik dejansko ne naložen. Ta hitrost in produktivnost vam hiter prenos velike količine podatkov od uporabnika do strežnika in obratno.

Za izvajanje tega dela s podatki, obstaja več programskih jezikov tehnologije. Med njimi so, na primer, PL / SQL iz sistema za upravljanje podatkovne baze Oracle, psql v InterBase in Firebird sistemov, kot tudi klasična "maykrosoftovskih» Transact-SQL. Vsi izmed njih so namenjeni za ustvarjanje in zagon shranjenih procedur, ki vam omogoča, da uporabljajo svoje algoritme na veliki viličarji baze podatkov. To je potrebno, in zagotoviti, da tisti, ki izvajajo upravljanje teh podatkov, lahko zaščitili vse predmete pred nepooblaščenim tretjim osebam, zato je ustanovitev, spremembo ali izbris nekaterih podatkov.

produktivnost

Ti predmeti zbirke podatkov se lahko programirajo na različne načine. To omogoča uporabnikom, da izberete vrsto postopka, ki bi bilo najbolj primerno, ki prihrani čas in energijo. Poleg tega je sam postopek obdelujejo, s čimer se izognemo veliko časa, porabljenega za komunikacijo med strežnikom in uporabnikom. Modul je mogoče reprogramirati in spremenila v pravo smer, v absolutno kadarkoli. Posebej je treba omeniti hitrost, s katero se pojavlja začetek SQL shranjenih postopka: postopek je hitrejši druga podobna njej, zaradi česar je priročen in vsestranski.

varnost

Ta vrsta obdelave podatkov se razlikuje od podobnih procesov v tem, da zagotavlja izboljšano varnost. To je zagotovljeno s tem, da se drugi uporabniki dostop do postopkov lahko v celoti odpraviti. To bo omogočilo Administrator za izvajanje operacij z njimi samostojno, brez strahu pred prestrezanjem ali nepooblaščenega dostopa do baze podatkov.

prenos podatkov

Komunikacija med shranjene procedure SQL in odjemalske aplikacije je uporaba parametrov in vrne vrednosti. Slednji ni treba posredovati podatke shranjene procedure, vendar so informacije (predvsem na zahtevo uporabnika), in pripravljena za SQL. Ko shranjeni postopek se je zaključil svoje delo, pošlje podatkovne pakete nazaj (ampak spet, po želji), da kličoče uporabi z uporabo različnih metod, s katerimi se lahko izvajajo kot poziv k shranjene procedure in vrnitvi SQL, na primer:

- prenos podatkov prek vrste izhodna parametra;

- prenos podatkov prek izjave za vračanje;

- prenos podatkov prek izbire nosilca.

In zdaj poglej, kako ta proces izgleda isto notranjost.

1. Ustvarite EXEC shranjene v proceduri SQL

Ustvarite lahko postopek v MS SQL (Managment Studio). Potem, ko je ustvaril postopek, so navedeni na programabilni vozlišče baze podatkov, v kateri je postopek, ki jih izvaja operator ustvarjanja. Za izvedbo SQL shranjenih procedur uporabo EXEC-proces, ki vsebuje ime predmeta.

Pri ustvarjanju ime prihaja prvi postopek, nato pa je enega ali več parametrov, ki so mu dodeljene. Parametre lahko neobvezno. Po parametra (-ov), to je organ postopka, ki naj bi napisal, da je treba izvesti nekatere pomembne posle.

Dejstvo, da ima telo lahko lokalne spremenljivke, ki se nahajajo v njem, in te spremenljivke so lokalne in v zvezi s postopki. Z drugimi besedami, jih je mogoče obravnavati le v okviru telesa Microsoft SQL Server. Shranjene procedure v tem primeru se šteje, lokalno.

Tako, da se ustvari proces, potrebujemo ime postopka in vsaj enega parametra kot postopek telesa. Prosimo, upoštevajte, da je odlična izbira v tem primeru oblikovanje in izvajanje postopkov z imenom sheme v klasifikatorja.

Postopek telo ima lahko kakršnokoli operaterjev SQL, na primer, kot je ustvarjanje tabele, vstavljanje enega ali več vrstic v tabeli, ki določa vrsto zbirke podatkov in značaj, in tako naprej. Kljub temu, postopek telo omejuje nekatere dejavnosti v njem. Nekatere od najbolj pomembnih omejitev, so navedeni spodaj:

- telo ne ustvarja nobene druge shranjeni postopek;

- organ ne sme ustvariti napačen vtis o predmetu;

- telo ne ustvarja nobenih sprožilcev.

2. Nastavite spremenljivko v telesu postopka

Lahko bi spremenljivke lokalne s postopkom telesa, nato pa bo v postopku telesu. Dobra praksa je, da ustvarite spremenljivko na začetku shranjene procedure telesa. Vendar pa lahko nastavite tudi spremenljivke kjerkoli v telesu objekta.

Včasih boste morda opazili, da so nekatere spremenljivke, ki v isti vrsti, in vsaka spremenljivka ločeni z vejico. Upoštevajte tudi, da je spremenljivka predpono @. V telesu postopka, lahko nastavite spremenljivko, ki jo želite. Na primer, lahko spremenljivka @ NAME1 bodo objavljeni proti koncu postopka telesa. Da bi se dodeli vrednost spremenljivki prijavljene v skladu z vrsto osebnih podatkov. V nasprotju s položajem, ko je več kot ena spremenljivka, prijavljene v isti vrsti, le en niz osebnih podatkov, ki se uporablja v tej situaciji.

Uporabniki pogosto vprašati: "Kako dodeliti več vrednosti v enem samem stavku v telesu postopka" No?. Zanimivo vprašanje, vendar je to veliko lažje, kot si misliš. Odgovor: s pomočjo takih parov kot "Izberite Var = vrednost". Lahko uporabite te pare, ločene z vejicami.

3. Ustvarjanje SQL shranjene procedure

V različnih primerov ljudi, ki kažejo ustvarjanje preprost shranjene procedure in ga izvesti. Vendar pa lahko postopek traja takšne parametre, da se proces kliče bo imajo vrednost blizu nje (vendar ne vedno). Če se ujemata, potem pa se začne ustrezne procese v telesu. Na primer, če ustvarite postopek, ki bo trajal mesto in regijo od klicatelja in vrne podatke o tem, koliko se avtorji sklicujejo na ustrezno mesto in regijo. Postopek bo poizvedbo tabelo zbirke podatkov avtorjev, na primer, gostilne, za opravljanje tega izračuna avtorjev. Za pridobitev teh podatkovnih baz, na primer Google prenese SQL skript z SQL2005 strani.

V prejšnjem primeru, postopek traja dva parametra, ki bi se v angleščini imenujejo pogojno @State in @City. Podatkovni tip ustreza tipu, navedeno v vlogi. Postopek telo ima notranje spremenljivke @TotalAuthors (vsi avtorji), in ta spremenljivka se uporablja za prikaz njihovega števila. Sledi zahteva oddelek izbor, da vse šteje. Na koncu je izračunana vrednost prikazana v izhodnem oknu s pomočjo izjave za tisk.

Kako izvesti SQL shranjene procedure

Obstajata dva načina za izvedbo postopka. Prvi način je razvidno iz poteka parametrov, kot je z vejico ločen seznam narejeno po imenu postopku. Recimo, da imamo dve vrednosti (kot v prejšnjem primeru). Te vrednote so zbrani s pomočjo spremenljivk in postopek @State @City. Pri tej metodi, pomembni parametri reda prenosa. Ta metoda se imenuje prenos zaporedje argumentov. V drugi metodi, so parametri že dodeljena neposredno, pri čemer vrstni red ni pomemben. Ta druga metoda je znana kot prenos imenovanih argumentov.

Postopek se lahko nekoliko razlikujejo od tipične. Vse je isto, kot v prejšnjem primeru, vendar parametri so tu premaknilo samo. To je @City parameter je shranjen prvi in @State shranijo poleg privzete vrednosti. Privzeta nastavitev je običajno dodeli ločeno. SQL shranjenih procedur, so preprosti parametri. V tem primeru, če je možnost "UT" nadomesti privzeto vrednost "CA". V drugi izvedbi gre samo en argument vrednost za @City in @State opcijske privzete nastavitve za "CA". Izkušeni programerji so povedali, da so vse privzete spremenljivke se nahajajo bližje koncu seznama parametrov. Sicer pa izvedba ni mogoča, potem moraš delati s prenosom imenovanih argumentov, da je daljša in bolj zapletena.

4. Shranjene procedure SQL Server: načini vračanja

Obstajajo tri glavne načine za pošiljanje podatkov, shranjenih v imenovanem postopku. Ti so navedeni spodaj:

- povratna vrednosti shranjeni postopek;

- Realizacija parametrov shranjenih postopkov;

- Izberite eno od shranjenih procedur.

4.1 Vrnitev vrednosti SQL shranjenih procedur

V tem postopku, se postopek določi vrednost lokalne spremenljivke in ga vrne. Postopek lahko tudi neposredno vrne konstantno vrednost. V naslednjem primeru smo ustvarili postopek, ki vrne skupno število sponzorjev. Če primerjamo to s predhodnim postopkom, lahko vidite, da je vrednost tiska nadomesti z vzvratno prestavo.

Zdaj pa si oglejmo, kako izvesti postopek in prikaže vrednost, jo vrne. Izvajanje postopkov potrebno vzpostaviti in variabilni tisk, ki se opravi po postopku. Obvestilo, da je namesto tiskanje operaterja lahko uporabite za izbiro-operaterja, na primer, Select @RetValue in OutputValue.

4.2 Izhodna parametra SQL shranjenih procedur

Vrednost odziva se lahko uporablja, da se vrnete na eno spremenljivko, ki smo videli v prejšnjem primeru. Uporaba izhod omogoča postopek poslati enega ali več spremenljivk, kličočemu. Izhodni parameter je označen kot čas to ključno besedo «Izhodna» pri ustvarjanju postopka. Če je parameter določena kot izhodni parameter, mora biti postopek predmet mu dodeli vrednost. Shranjene procedure SQL, primeri, ki jih je mogoče videti v nadaljevanju, v takem primeru vrne končnemu informacij.

V tem primeru bo prišlo do dveh vikendih ime: @TotalAuthors in @TotalNoContract. Ti so določeni v seznamu parametrov. Te spremenljivke so dodeljene vrednosti v postopku telesu. Ko smo uporabili izhodnih parametrov, lahko klicatelj videti vrednost, določeno v postopku telesu.

Poleg tega so v prejšnjem scenariju, sta dve spremenljivki razglasila za prikaz vrednosti, ki so nameščeni shranjene procedure, MS SQL Server kot izhodni parameter. Nato se postopek izvede z uporabo normalne vrednosti «CA» parametra. Naslednji parametri so proizvodnja in zato deklarirano spremenljivke so opravili na predpisan način. Upoštevajte, da če tu izhod ključna spremenljivka določena tudi. Ko je postopek uspešno zaključen, se vrednost z uporabo izhodnih parametrov vrnil prikazan na oknu sporočila.

4.3 Izbira SQL shranjenih procedur

Ta tehnika se uporablja za vrnitev niz v obliki tabele vrednosti podatkov (zapisov) za klic shranjene procedure. V tem primeru, SQL shranjeni postopek s parametri @AuthID zahtevanih tabel "avtorji", s filtriranjem evidence, ki jih ta parameter @AuthId vrne. Izberite operaterja odloča, kaj je treba vrniti k kliče shranjeno proceduro. Ko AUTHID shranjena procedura pošljejo nazaj. Takšen postopek je vedno vrne samo en zapis, ali pa jih sploh. Vendar pa je shranjena procedura nima nobenih omejitev glede vrnitve več kot en vnos. Pogosto se primeri so na voljo, v kateri se podatki povratna izbrane uporabo parametrov z izračunanih spremenljivk storiti z zagotavljanjem več skupnih vrednot.

Na koncu

Shranjen postopek je zelo resen program, ki se vrne ali prenese, kot tudi vzpostavitev potrebne spremenljivke zaradi uporabe odjemalca. Ker je shranjena postopek izvede na samem strežniku, lahko izmenjava podatkov v velikih količinah med strežnikom in uporabo odjemalca (po nekaterih izračunih), se je treba izogibati. To omogoča, da se zmanjša obremenitev na strežniku SQL, ki je, seveda, je z njihovih imetnikov. Ena izmed podvrst so shranjene postopke T SQL, vendar je njihova študija je potrebna za tiste, ki sodelujejo pri ustvarjanju impresivno zbirko podatkov. Na voljo je tudi veliko, celo ogromno odtenkov, ki so lahko koristni v študiji shranjenih postopkov, pa je to potrebno za tiste, ki nameravate storiti tesen programiranja, vključno s strokovno.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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