SQL shranjeni postopki: Ustvarjanje in uporaba
Postopki shranjenih SQL so izvršilni programski modul, ki ga lahko shranite v baze podatkov v obliki različnih predmetov. Z drugimi besedami, to je objekt, ki vsebuje stavke SQL. Te shranjene procedure se lahko izvajajo v odjemalniku aplikacij, da dobijo dobre rezultate. Poleg tega se takšni predmeti pogosto imenujejo iz drugih scenarijev ali celo iz nekega drugega oddelka.
Vsebina
- Uvod
- Produktivnost
- Varnost
- Prenos podatkov
- 1. ustvarite exec shranjeni postopek v sql
- 2. nastavitev spremenljivke v telesu postopka
- 3. ustvarjanje shranjenega postopka sql
- Kako izvesti shranjeni postopek v sql
- 4. shranjeni postopki sql server: metode vračanja
- 4.1 vrnitev vrednosti shranjenih procedur sql
- 4.2 izhod iz parametra shranjenega postopka sql
- 4.3 izberite enega od shranjenih procedur sql
- Na koncu
Uvod
Mnogi verjamejo, da so podobni različnim postopkom programski jeziki na visoki ravni (razen MS SQL). Morda je res tako. Imajo podobne parametre, lahko ustvarijo podobne vrednosti. Poleg tega so v nekaterih primerih v stiku. Na primer, združeni so z bazami podatkov DDL in DML ter z uporabniškimi funkcijami (kodno ime - UDF).
Dejansko imajo shranjeni postopki SQL širok spekter prednosti, ki jih ločujejo od podobnih procesov. Varnost, spremenljivost programiranja, produktivnost - vse to privlači uporabnike, ki delajo z bazami podatkov, več in več. Vrh priljubljenosti postopkov je prišlo v letih 2005-2010, ko je bil izdan program Microsoft, imenovan SQL Server Management Studio. S pomočjo je delo z bazami podatkov postalo veliko lažje, bolj praktično in bolj priročno. Iz leta v leto tako način prenosa informacij je postal priljubljen med programerji. Danes MS SQL Server je povsem poznani program, ki je za uporabnike "komuniciranje" z bazami podatkov stala enako kot "Excel".
Ko je postopek pozvan, ga samodejno obdeluje strežnik sam, brez nepotrebnih postopkov in poseganja uporabnika. Po tem lahko izvedete katera koli dejanja z informacijami: izbris, izvedba, sprememba. Za vse to je odgovoren operator DDL, ki sam izvaja najzahtevnejše obdelavo predmetov. In vse to se zgodi zelo hitro in strežnik ni dejansko naložen. Ta hitrost in zmogljivost vam omogočata zelo hitro prenos velikih količin informacij od uporabnika do strežnika in obratno.
Za izvajanje te tehnologije delo z informacijami, obstaja več programskih jezikov. Ti vključujejo, na primer, PL / SQL iz sistemi za upravljanje baz podatkov Oracle, PSQL v sistemih InterBase in Firebird ter klasičen "Microsoft" Transact-SQL. Vsi so namenjeni ustvarjanju in izvajanju shranjenih postopkov, kar nam omogoča uporabo lastnih algoritmov v velikih obdelovalnikih baz podatkov. Prav tako je potrebno, da tiste, ki upravljajo te informacije, zaščitijo vse predmete pred nepooblaščenim dostopom tretjih oseb in s tem ustvarijo, spremenijo ali izbrišejo določene podatke.
Produktivnost
Te objekte baze podatkov je mogoče programirati na različne načine. To uporabnikom omogoča, da izberejo vrsto uporabljene metode, ki bo najbolj primerna, kar prihrani čas in trud. Poleg tega se obdeluje sam postopek, ki se izogne velikemu času, porabljenemu za izmenjavo med strežnikom in uporabnikom. Modul se lahko kadarkoli ponovno programira in spremeni v želeno smer. Še posebej je treba omeniti hitrost, s katero se začne shranjen postopek SQL: ta proces je hitrejši od drugih, podoben temu, zaradi česar je priročen in vsestranski.
Varnost
Ta vrsta obdelave informacij se razlikuje od podobnih procesov, saj zagotavlja večjo varnost. To zagotavlja dejstvo, da je dostop drugih uporabnikov do postopkov mogoče izključiti v celoti in v celoti. To bo omogočilo Administrator za izvajanje operacij z njimi samostojno, brez strahu pred prestrezanjem ali nepooblaščenega dostopa do baze podatkov.
Prenos podatkov
Odnos med shranjenim postopkom SQL in odjemalcem je uporaba parametrov in povratnih 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 s parametrom Output;
- prenos podatkov z uporabo vračilnega izpiska;
- prenos podatkov s pomočjo izbirnega operaterja.
Zdaj pa poglejmo, kako ta proces izgleda od znotraj.
1. Ustvarite EXEC shranjeni postopek v SQL
Ustvarite lahko postopek v MS SQL (Managment Studio). Ko bo postopek ustvarjen, se bo prenesel na vozlišče programabilne baze podatkov, v katerem operater kreira postopek kreiranja. Če želite izvedeti, shranjeni postopki SQL uporabljajo postopek EXEC, ki vsebuje ime samega predmeta.
Pri ustvarjanju postopka se najprej pojavi njeno ime, po katerem se prikaže eden ali več parametrov, ki so mu dodeljeni. Parametri so lahko izbirni. Po tem, ko so napisani parametri, torej telo postopka, morate opraviti nekaj potrebnih operacij.
Zadeva je, da ima telo v njem locirane lokalne spremenljivke, te spremenljivke pa so lokalne tudi v povezavi s postopki. Z drugimi besedami, jih je mogoče ogledati samo v telesu postopka Microsoft SQL Server. Shranjeni postopki se nato obravnavajo kot lokalni.
Torej, da bi ustvarili postopek, potrebujemo ime postopka in vsaj en parameter kot telo postopka. Upoštevajte, da je v tem primeru odlična možnost, da ustvarite in izvedete postopek z imenom sheme v razvrstitelju.
Organi za postopke lahko imajo kakršno koli obliko Izjave SQL, kot je ustvarjanje tabele, vstavljanje ene ali več vrstic vrstic, določanje vrste in narave baze podatkov itd. Kljub temu pa telo postopka omejuje izvrševanje določenih operacij v njem. Nekatere pomembne omejitve so navedene spodaj:
- telo ne bi smelo ustvariti nobenega drugega shranjenega postopka;
- Telo ne bi smelo ustvariti lažne podobe predmeta;
- Telo ne bi smelo ustvariti nobenih sprožilcev.
2. Nastavitev spremenljivke v telesu postopka
Spremenljivke lahko spremenite v lokalno proceduro telesa, nato pa bodo nameščene izključno znotraj telesa postopka. Dobra praksa je ustvariti spremenljivke na začetku telesa shranjenega postopka. Tudi vi lahko nastavite spremenljivke kjerkoli v telesu tega predmeta.
Včasih boste opazili, da je več spremenljivk nastavljenih v eni vrstici, vsak spremenljiv parameter pa je ločen z vejico. Upoštevajte tudi, da ima spremenljivka @ predpono. V telesu postopka lahko nastavite želeno spremenljivko. Na primer, spremenljivko @ NAME1 se lahko razglasi bližje koncu telesa postopka. Za dodelitev vrednosti deklarirane spremenljivke se uporablja niz osebnih podatkov. V nasprotju s položajem, ko je v eni vrstici prijavljenih več kot ena spremenljivka, se v tem primeru uporablja le en niz osebnih podatkov.
Uporabniki pogosto postavljajo vprašanje: "Kako dodeliti več vrednosti v enem operaterju v telesu postopka?" No. Vprašanje je zanimivo, vendar je veliko lažje narediti, kot si mislite. Odgovor: uporaba parov, kot je "Izberite Var = vrednost". Te pare lahko uporabite, ločite jih z vejico.
3. Ustvarjanje shranjenega postopka SQL
V različnih primerih ljudje prikazujejo, kako ustvariti preprost shranjeni postopek in jo izvesti. Vendar postopek lahko sprejme takšne parametre, da bo proces klicev imel vrednosti, ki so blizu nje (vendar ne vedno). Če sovpadajo, se ustrezni procesi začnejo znotraj telesa. Če na primer ustvarite postopek, ki bo od klicalca vzel mesto in regijo in vrnil podatke o tem, koliko avtorjev je povezanih z ustreznim mestom in regijo. Postopek bo poizvedoval tabel avtorjev baze podatkov, na primer Pubs, da izvede to število avtorjev. Če želite na primer pridobiti te baze podatkov, Google naloži skript SQL s strani SQL2005.
V prejšnjem primeru postopek poteka v dveh parametrih, kar se v angleščini običajno imenuje @State in @City. Vrsta podatkov ustreza tipu, ki je določen v aplikaciji. Telo postopka ima notranje spremenljivke @TotalAuthors (vse avtorje), ta spremenljivka pa se uporablja za prikaz njihovega števila. Nato se prikaže odsek za izbiro poizvedbe, ki ga vsi štejejo. Končno se izračuna vrednost v izhodnem oknu z operaterjem tiskanja.
Kako izvesti shranjeni postopek v SQL
Postopek lahko izvedete na dva načina. Prva pot se prikaže pri prehodu parametrov, saj se po imenu procedure izbriše seznam z vejico. Recimo, da imamo dve vrednosti (kot v prejšnjem primeru). Te vrednosti se zbirajo z uporabo spremenljivk parametrov @State in @City procedure. Na ta način prenosa parametrov je pomemben red. Ta metoda se imenuje redni prenos argumentov. V drugi metodi so parametri že neposredno dodeljeni, v tem primeru nalog ni pomemben. Ta druga metoda je znana kot prenos imenovanih argumentov.
Postopek lahko nekoliko odstopa od tipične. Vse je enako kot v prejšnjem primeru, vendar samo tukaj so parametri premaknjeni. To pomeni, da je parameter @City najprej shranjen, @State pa je shranjena poleg privzete vrednosti. Privzeta nastavitev je ponavadi ločena. Postopki shranjenih SQL se prenesejo kot preprosti parametri. V tem primeru pod pogojem, da parameter "UT" nadomesti privzeto vrednost "CA". Pri drugi izvedbi se za parameter @City prenese samo ena vrednost argumenta, parameter @State pa privzeto vrednost "CA". Izkušeni programerji svetujejo, da so vse spremenljivke privzeto nameščene bližje koncu seznama parametrov. V nasprotnem primeru izvedba ni mogoča, potem pa morate delati s prenosom imenovanih argumentov, kar je daljše in težje.
4. Shranjeni postopki SQL Server: metode vračanja
Obstajajo trije pomembni načini pošiljanja podatkov v shranjeni postopek, imenovan. Spodaj so navedeni:
- vrne vrednost shranjenega postopka;
- izhod parametra shranjenega postopka;
- izberite enega od shranjenih postopkov.
4.1 Vrnitev vrednosti shranjenih procedur SQL
V tej tehniki postopek dodeli vrednost lokalni spremenljivki in jo vrne. Postopek lahko tudi neposredno vrne konstantno vrednost. V naslednjem primeru smo ustvarili postopek, ki vrne skupno število avtorjev. Če primerjate ta postopek s prejšnjimi, lahko vidite, da se vrednost za tiskanje nadomesti z nasprotno.
Zdaj pa poglejmo, kako izvesti postopek in vrniti vrnjeno vrednost. Izvedba postopka zahteva nastavitev spremenljivke in tiskanja, ki se izvede po celotnem postopku. Upoštevajte, da namesto izpisa za tisk lahko uporabite operator Select, na primer Select @RetValue in OutputValue.
4.2 Izhod iz parametra shranjenega postopka SQL
Vrednost odziva se lahko uporabi za vrnitev ene spremenljivke, ki smo jo videli v prejšnjem primeru. Uporaba parametra Output omogoča postopku pošiljanja ene ali več spremenljivih vrednosti kličočemu. Izhodni parameter je označen z isto ključno besedo »Izhod« pri izdelavi postopka. Če je parameter podan kot izhodni parameter, mora objekt za postopek dodeliti vrednost. Postopki shranjenih SQL, katerih primeri so navedeni spodaj, se nato vrnejo s povzetimi informacijami.
V našem primeru sta dve izhodni nazivi: @TotalAuthors in @TotalNoContract. Navedeni so na seznamu parametrov. Te spremenljivke dodeljujejo vrednosti v telesu postopka. Ko uporabljamo izhodne parametre, lahko klicatelj vidi vrednost, ki je nastavljena znotraj telesa postopka.
Poleg tega sta v prejšnjem scenariju prijavljeni dve spremenljivki, ki prikazujeta vrednosti, ki v izhodnem parametru določijo shranjene procedure MS SQL Server. Potem se postopek izvede s posredovanjem normalne vrednosti parametra "CA". Izhajajo naslednji parametri in zato se deklarirane spremenljivke prenašajo v določenem vrstnem redu. Upoštevajte, da je pri prenosu spremenljivk tukaj navedena tudi izhodna ključna beseda. Ko je postopek uspešen, se vrednosti, ki jih vrnejo izhodni parametri, prikažejo v oknu sporočil.
4.3 Izberite enega od shranjenih procedur SQL
Ta tehnika se uporablja za vrnitev nabor vrednosti kot podatkovne tabele (RecordSet) v shranjeni shranjeni postopek. V tem primeru SQL-shranjeni postopek s parametri @AuthID poizveduje tabelo avtorjev, tako da filtrirate vrnjene zapise s tem parametrom @AuthId. Operater Select odloči, kaj je treba vrniti v shranjeni shranjeni postopek. Pri izvajanju shranjenega postopka se AuthId vrne nazaj. Tak postopek tukaj vedno vrne samo en zapis ali sploh ne. Ampak shranjeni postopek nima nobenih omejitev pri vračanju več kot en zapis. Pogosto je mogoče najti primere, v katerih se vrnejo podatki z uporabo izbranih parametrov s sodelovanjem izračunanih spremenljivk, in sicer z zagotavljanjem več povzetih vrednosti.
Na koncu
Shranjeni postopek je precej resen programski modul, ki se vrne ali prenaša, in tudi določa potrebne spremenljivke preko odjemalske aplikacije. Ker se shranjeni postopek izvaja na samem strežniku, se lahko izognemo izmenjavi podatkov v velikih volumnih med strežnikom in odjemalcem (za nekatere izračune). To vam omogoča, da zmanjšate obremenitev strežnika SQL, kar seveda gre v roke svojih imetnikov. Ena od podvrst je shranjevanje T SQL, vendar ga morajo preučevati tisti, ki ustvarjajo impresivne baze podatkov. Obstaja tudi veliko, celo veliko število odtenkov, ki so lahko uporabni pri preučevanju shranjenih procedur, vendar je to več za tiste, ki nameravajo sodelovati v programiranju, tudi profesionalno.
- Zunanji računalniški pomnilnik
- Kakšni so cilji oblikovanja baz podatkov?
- Normalizacija baz podatkov
- Objektno programiranje
- SQL datoteka. Format datoteke SQL: opis razširitve
- Java programski jezik
- Pregled sistemov za upravljanje baz podatkov
- Sistem za upravljanje baz podatkov Microsoft SQL Server
- Seznam programskih jezikov. Programski jeziki na nizki in visoki ravni
- DB je ... Vrste in lastnosti baze podatkov
- OOP je kaj? Osnovna načela objektno usmerjenega programiranja
- Razčlenjevanje: kaj je in kako je ustvarjeno
- SQL Kje: metode in primere uporabe
- Kako je SQL razvrščen?
- Programski jezik c (s)
- Standardni postopki in funkcije v Pascalu
- Razkrijte SQL: opis. Transact-SQL
- Katere naloge rešuje strežnik aplikacij?
- Relacijski podatkovni model, podatkovne baze, modeli in sheme zasnove
- Podrobnosti o povezovanju tabel za dostop
- Splošni koncepti Access DBMS