DatoriDatu bāzes

SQL glabā procedūras: izveidot un lietot

SQL uzglabā procedūras ir izpildāmā programmatūras modulis, kas var uzglabāt datu bāzē , kas izpaužas dažādu objektu. Citiem vārdiem sakot, tas ir objekts, kas ietver SQL-paziņojumu. Šīs saglabātās procedūras var tikt izpildīts klienta pieteikumu, lai iegūtu labu sniegumu. Turklāt, šādas iekārtas ir bieži sauc no citām skriptus vai pat no jebkuras citas sadaļas.

ievads

Daudzi cilvēki uzskata, ka viņi ir līdzīgi procedūrām dažādu augsta līmeņa programmēšanas valodas (attiecīgi, izņemot MS SQL). Iespējams, tā ir taisnība. Tie ir līdzīgi parametri, tos var izsniegt līdzīgu vērtību. Turklāt dažos gadījumos tie nonāk saskarē. Piemēram, tie ir apvienoti ar datubāzēm DDL un BDL datiem, kā arī lietotāja funkcijas (kods nosaukums - UDF).

Faktiski uzglabāti SQL procedūras ir plašs priekšrocības, kas atšķir tos starp šādiem procesiem. Drošības, mainīgums programmēšana produktivitāti - tas viss piesaista lietotājus strādā ar datu bāzēm, vairāk un vairāk. Popularitātes virsotne nāca procedūras gados 2005-2010, kad es saņēmu šo programmu no "Microsoft" ar nosaukumu «SQL Server Management Studio». Ar tā palīdzību, darbs ar datu bāzēm ir kļuvis daudz vieglāk, vairāk praktiska un ērtāk. Gadu pēc gada, šī metode nodot informāciju ieguva popularitāti programmēšanas vidē. Šodien, MS SQL Server ir absolūti parasti programma, kas lietotājiem "sazināties" ar datu bāzēm, stāvēja par ar "Excel".

Zvanot procedūru, to uzreiz apstrādā serveri bez nevajadzīgiem procesiem un lietotāja iejaukšanās. Pēc tam jūs varat veikt jebkādas darbības ar datiem: dzēšanu, izpildi, mainīt. Vairāk tas viss atrodas DDL-operators, kurš vienpersoniski veikt sarežģītas darbības ar šiem objektiem. Un tas viss notiek ļoti ātri, un serveris nav reāli ielādēts. Šis ātrums un produktivitāte ļauj ātri pārsūtīt lielu daudzumu informācijas no lietotāja uz serveri un otrādi.

Lai īstenotu šo darbu ar informāciju, ir vairākas programmēšanas valodas tehnoloģijas. Tie ietver, piemēram, PL / SQL, no datu bāzes pārvaldības sistēma Oracle, PSQL ar InterBase un Firebird sistēmām, kā arī klasisko "maykrosoftovskih» Transact-SQL. Visi no tiem ir paredzēti, lai radītu un palaist glabā procedūras, kas ļauj jums izmantot savus algoritmus lielu datu bāzu apstrādes. Tas ir nepieciešams, un, lai nodrošinātu to, ka tie, kas veic šādas informācijas pārvaldību, var aizsargāt visus objektus no nesankcionētām trešajām personām, tāpēc radīšanu, grozīšanu vai dzēšanu konkrētu datu.

produktivitāte

Šīs datu bāzes objektus var ieprogrammēt dažādos veidos. Tas ļauj lietotājiem izvēlēties tādu procesu, kas būtu vispiemērotākais veids, kas ietaupa laiku un enerģiju. Turklāt pati procedūra tiek apstrādāta, tādējādi izvairoties milzīgs pavadītais laiks komunikāciju starp serveri un lietotāju. Modulis var pārprogrammēt un mainīt pareizajā virzienā absolūti jebkurā laikā. Īpaši vērts atzīmēt ātrumu, ar kādu uzsākt SQL glabā procedūru notiek: process ir ātrāks cita līdzīga tai, padarot to ērtu un daudzpusīga.

drošība

Šī informācijas apstrādes veids atšķiras no līdzīgiem procesiem, ka tā nodrošina uzlabotu drošību. Tas nodrošina to, ka citi lietotāji piekļūt procedūrām var novērst pilnībā. Tas ļaus administrators veikt operācijas ar viņiem patstāvīgi, bez bailēm no pārtveršanas vai neatļautu piekļuvi datu bāzei.

datu pārsūtīšana

Saziņa starp glabājas SQL procedūru un klienta pieteikumu, ir izmantot parametrus un atgriešanās vērtību. Pēdējais nav nepieciešams, lai pārraidītu datus glabā procedūru, taču informācija (galvenokārt uz lietotāja pieprasījuma), un apstrādāti SQL. Kad uzglabā procedūra ir pabeidzis savu darbu, tā nosūta datu paketes atpakaļ (bet, atkal, ja nepieciešams), lai zvana pieteikumu, izmantojot dažādas metodes, ar kuru var īstenot kā aicinājums uz glabājas SQL procedūru un atgriešanās, piemēram:

- datu pārraide , izmantojot Output parametra tips;

- datu pārraide caur atgriešanās paziņojumā;

- Datu pārraide ar operatora izvēli.

Un tagad izskatās, kā šis process izskatās tāds pats iekšpusi.

1. Izveidot EXEC-glabāti SQL procedūru

Varat izveidot procedūru MS SQL (Management Studio). Pēc tam, kad ir izveidota procedūra, tas ir iekļauts programmējam datubāzes mezglā, kurā procedūra tiek veikta operators radīšanas. Izpildīt SQL uzglabā procedūru, izmantojot Exec-procesu, kas satur objekta nosaukums.

Veidojot vārdu nāk pirmo procedūru, un tad veic vienu vai vairākus parametrus, kas tiek piešķirti viņam. Parametri var būt obligāta. Pēc parametru (-iem), ti, ķermeņa procedūras, jāraksta, ka ir nepieciešams veikt dažas nepieciešamās darbības.

Fakts, ka ķermenis var būt vietējie mainīgie, kas atrodas tajā, un šie mainīgie ir vietējās un attiecībā uz procedūrām. Citiem vārdiem sakot, tās var uzskatīt tikai par ķermeņa procedūrām Microsoft SQL Server. Glabā procedūras šajā gadījumā tiek uzskatīti par vietējiem.

Tādējādi, lai izveidotu procesu, mums ir procedūra nosaukumu un vismaz vienu parametru kā procedūras ķermenim. Lūdzu, ņemiet vērā, ka lieliska iespēja šajā gadījumā ir radīšana un ieviešana procedūru ar shēmu nosaukuma klasifikatorā.

Procedūra ķermeņa var būt jebkāda veida operatoru SQL, piemēram, piemēram, veidojot tabulu, ievietojot vienu vai vairākas tabulas rindas, izveidojot datu bāzes tipu un raksturu, un tā tālāk. Tomēr procedūra organisms ierobežo dažas darbības tajā. Daži no svarīgākajiem ierobežojumiem ir uzskaitītas zemāk:

- organisms nerada nekādas citas glabā procedūru;

- ķermenis nedrīkst radīt maldīgu priekšstatu par objektu;

- organisms nerada nekādas izraisa.

2. Iestatiet mainīgo ķermeņa procedūras

Jūs varat veikt mainīgie vietējā procedūru ķermeņa, un tad tie būs robežās procedūras organismā. Laba prakse ir izveidot mainīgo sākumā glabā procedūru organismā. Bet jūs varat arī iestatīt mainīgos jebkur organismā objekta.

Dažkārt var novērot, ka daži mainīgie tiek noteikti vienā rindā, un katrs mainīgais jāatdala ar komatu. Tāpat ņemiet vērā, ka mainīgais ir prefiksu ar @. Ar ķermeņa procedūras, jūs varat iestatīt mainīgo, kuru vēlaties. Piemēram, mainīgo @ NAME1 var paziņots beigās Procedūras ķermeņa. Jo, lai piešķirtu vērtību mainīgā paziņoja, izmantojot personas datu kopumus. Atšķirībā no situācijas, kad ir vairāk nekā viens mainīgais deklarēts vienā rindā, tikai viena personas datu kopums, ko izmanto šajā situācijā.

Lietotāji bieži uzdot jautājumu: "Kā piešķirt vairākas vērtības vienā pārskatā ķermeņa procedūras:" Nu?. Interesanti jautājums, bet tas ir daudz vieglāk, nekā jūs domājat. Atbilde: ar palīdzību šādu pāru kā «Select var = vērtība". Jūs varat izmantot šos pārus, kas atdalīti ar komatiem.

3. Izveidot SQL uzglabā procedūru

Ar dažādiem piemēriem cilvēku parādīt izveidojot vienkāršu glabā procedūru un izpildīt to. Tomēr šo procedūru var veikt tādus parametrus, ka zvanot process tas būs vērtība tuvu tai (bet ne vienmēr). Ja tie sakrīt, tad sāk attiecīgos procesus organismā. Piemēram, ja jums izveidot procedūru, kas veiks pilsētu un reģionu zvanītāja un atgrieztos datus par to, cik daudz autori norāda uz attiecīgo pilsētu un reģionu. Procedūra griezīsies datubāzes tabulu autoru, piemēram, Krogi, lai veiktu šo aprēķinu autori. Lai iegūtu šos datu bāzes, piemēram, Google lejupielādē SQL skriptu ar SQL2005 lapu.

Iepriekšējā piemērā, procedūra ilgst divus parametrus, kas angliski būtu sauc nosacīti @State un @City. Datu tips atbilst tipam, kas norādīts pieteikumā. Procedūra ķermeņa ir iekšējie mainīgie @TotalAuthors (visi autori), un šis mainīgais tiek izmantots, lai parādītu savu numuru. Tālāk nāk sadaļa izlase pieprasīt visu skaitu. Visbeidzot, tiek parādīta aprēķinātā vērtība izejas logu, izmantojot drukas paziņojumu.

Kā veikt SQL uzglabā procedūru

Ir divi veidi, kā veikt procedūru. Pirmais veids ir redzams, nosūtot parametrus kā komatiem atdalīts saraksts tiek veikta pēc procedūras nosaukumu. Pieņemsim, ka mums ir divas vērtības (kā iepriekšējā piemērā). Šīs vērtības ir apkopoti, izmantojot mainīgos un @State @City procedūru. Ar šo metodi, svarīgi parametri pārvades secībā. Šī metode tiek saukta par pārraide secība argumentus. Otrajā metodi, parametri jau ir piešķirti tieši tādā gadījumā secība nav svarīga. Šī otrā metode ir pazīstama kā pārraidi nosauktajiem argumentiem.

Procedūra var nedaudz atšķirties no tipisks. Visu to pašu, kā iepriekšējā piemērā, bet parametri ir novirzījies tikai šeit. Tas ir @City parametrs tiek saglabāta, pirmkārt, un @State uzglabā blakus noklusējuma vērtību. Noklusējuma iestatījums parasti ir piešķirti atsevišķi. SQL glabā procedūras ir kā vienkārši parametri. Šajā gadījumā, ja opcija "UT" aizstāj noklusējuma vērtību "CA". Ar otro iemiesojums iet tikai vienu argumentu vērtību @City un @State opcija pēc noklusējuma "CA". Pieredzējuši programmētāji ir ieteicams, ka visi noklusējuma mainīgie atrodas tuvāk beigām parametru sarakstā. Pretējā gadījumā izpilde nav iespējama, tad jums ir strādāt ar nodošanas nosauktajiem argumentiem, ka ilgāk un sarežģītāks.

4. saglabātās procedūras SQL Server: veidi atgriešanos

Ir trīs galvenie veidi, kā nosūtīt datus, kas glabājas sauc procedūrā. Tās ir uzskaitītas zemāk:

- atgriešanās vērtību glabā procedūru;

- Output parametru glabā procedūras;

- Izvēlieties vienu no saglabātajiem procedūras.

4.1 atgriešanās vērtības SQLstored procedūrām

Šajā procedūrā, procedūra nosaka vērtību vietējo mainīgo un atgriež to. Procedūru var arī tieši atgriezt konstantu vērtību. Šajā piemērā, mēs esam izveidojuši procedūru, kas atgriež kopējo skaitu sponsoriem. Ja mēs salīdzinām ar iepriekšējo kārtību, jūs varat redzēt, ka vērtība drukas aizstāj otrādi.

Tagad aplūkosim, kā veikt procedūru un parādītu vērtību, atdot to. Veic procedūras, kas vajadzīgas, lai izveidotu un mainīgo drukāšanu, kas tiek veikta pēc procesa. Ievērojiet, ka tā vietā, drukāšanas operators var izmantot Izvēlieties starp operatoriem, piemēram, Select @RetValue un OutputValue.

4.2 Izejas Parametrs SQL glabā procedūras

Atbilde vērtību var izmantot, lai atgrieztu vienu mainīgo, ko mēs esam redzējuši iepriekšējā piemērā. Izmantojot izvadi ļauj procedūru, lai sūtītu vienu vai vairākus mainīgos zvanītājam. Izejas parametrs tiek apzīmēts kā reizi šo atslēgas vārdu «izeja», veidojot procedūru. Ja parametrs ir norādīts kā izejas parametru, procedūra objekts ir jāpiešķir to vērtību. Saglabātā kārtība SQL, kuru piemēri var redzēt zemāk, tādā gadījumā atgriežas uz galīgo informāciju.

Šajā piemērā, būs divas nedēļas nogalēs nosaukums: @TotalAuthors un @TotalNoContract. Tie ir norādīti parametru sarakstā. Šie mainīgie ir piešķirts vērtības robežās procedūras organismā. Kad mēs izmantojam izvades parametrus, zvanītājs var redzēt iestatītā vērtība procedūras organismā.

Turklāt iepriekšējā scenārijā, divi mainīgie ir deklarēti redzēt vērtības, kas ir uzstādītas glabā procedūras, MS SQL Server kā izejas parametru. Tad procedūra tiek veikta, izmantojot normālo vērtību «CA» parametrs. Šie parametri ir izejas un tāpēc pasludināja mainīgie tiktu noteiktajā veidā. Lūdzu, ņemiet vērā, ka tad, kad mainīgais izeja atslēgvārds arī šeit norādīts. Pēc tam, kad procedūra ir veiksmīgi pabeigta, tiek parādīts atgriež vērtību, izmantojot izejas parametrus ziņojuma logā.

4.3 Izvēloties SQL uzglabā procedūru

Šī metode tiek izmantota, lai atgrieztu komplektu formā tabulas datu vērtībām (Recordset), lai zvanot glabā procedūru. Šajā piemērā, SQL uzglabā procedūru ar parametriem @AuthID lūdz galda "autori", filtrējot ieraksti atgriež šis parametrs @AuthId. Select operators izlemj, kāda būtu jāatdod zvanot uzglabā procedūra. Kad uzglabā procedūra AuthId nosūtīti atpakaļ. Šāda procedūra vienmēr atgriež tikai vienu ierakstu vai nav vispār. Tomēr uzglabā procedūra nav nekādu ierobežojumu attiecībā uz atgriešanos vairāk nekā vienu ierakstu. Bieži piemērus var atrast kurā atgriešanās dati izvēlētās izmantojot parametrus ar aprēķinātajām mainīgajiem tiek darīts, nodrošinot daudzveidību kopējām vērtībām.

Nobeigumā

Uzglabā procedūra ir diezgan nopietna programma, atpakaļ vai nodot, kā arī izveidojot nepieciešamos mainīgos, jo klienta pieteikumu. Tā uzglabā procedūra tiek izpildīts uz servera pati, datu apmaiņa lielos apjomos starp serveri un klienta pieteikumu (dažiem aprēķiniem) var izvairīties. Tas ļauj samazināt slodzi uz SQL servera, kas, protams, ir roku no saviem īpašniekiem. Viens no pasugas tiek glabāti procedūras T SQL, bet to izpēte ir nepieciešama, lai tiem, kas iesaistīti izveidi iespaidīgu datu bāzi. Ir arī liels, pat milzīgs daudzums nianses, kas var būt noderīga, pētījumā glabā procedūras, tomēr šī vajadzība pēc tiem, kas plāno darīt saspringts programmēšanu, ieskaitot profesionāli.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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