KompjûtersDatabases

SQL bewarre prosedueres: meitsje en gebrûk

SQL opslein prosedueres binne útfierbere software module dat kin opslein wurde yn 'e databank yn de foarm fan ferskate foarwerpen. Mei oare wurden, it is in foarwerp dat befettet SQL-statement. Dy opslein prosedueres kinne útfierd wurde yn de kliïnt applikaasje te krijen in goede prestaasje. Dêrneist sokke foarsjennings wurde faak neamd út oare skripts of sels fan alle oare seksje.

yntroduksje

In soad minsken tinke dat se gelyk binne oan de prosedueres fan de ferskate hege-nivo programmearring talen (respektivelik, útsein foar MS SQL). Faaks dat is wier. Se hawwe ek parameters, se kinne útjaan deselde wearde. Boppedat, yn guon gefallen, se komme yn kontakt. Bygelyks, se wurde kombinearre mei databases fan DDL en de DML gegevens, likegoed as brûker funksjes (koadenamme - UDF).

Eins bewarre SQL prosedueres hawwe in breed oanbod oan foardielen dy't ûnderskiede har ûnder sokke prosessen. Safety, fariabiliteit programmearring Produktivität - alles dat lûkt brûkers wurkje mei databases, mear en mear. It hichtepunt fan populariteit kamen prosedueres foar de jierren 2005-2010, doe't ik krige it programma fan de "Microsoft" ûnder de namme «SQL Server Management Studio». Mei syn help, wurk mei databanken is folle makliker, mear praktysk en handiger. Jier nei jier, dizze metoade fan transmitting ynformaasje opdiene populariteit yn de programmearring omjouwing. Hjoed, MS SQL-tsjinner is absoluut wenstige programma, dy't foar brûkers mei "Kommunikaasje" mei databases, stie op in par mei "Excel".

As jo skilje de proseduere, wurdt direkt ferwurke troch de tsjinner sûnder ûnnedige prosessen en brûker yntervinsje. Jo kinne dan útfiere elke hanneling dy't mei de ynformaasje: wiskjen, eksekúsje, feroaring. Oer alles dat is yn 'e DDL-operator, dy't single-handedly útfiere komplekse aksjes op dy objekten. En it allegear bart hiel gau, en de tsjinner net eins laden. Dy snelheid en Produktivität lit jim fluch oerdrage grutte hoemannichten ynformaasje fan de brûker nei de tsjinner en oarsom.

Om it útfieren fan dit wurk mei de ynformaasje, binne der ferskate programmearring talen technologyen. Dy befetsje, bygelyks, PL / SQL út de databank behear systeem Oracle, PSQL yn InterBase en Firebird systemen, en ek de klassike "maykrosoftovskih» Transact-SQL. Allegearre binne bedoeld om te meitsjen en rinne opslein prosedueres, sadat jo om harren eigen algoritmen op in grutte databank handlers. It is nedich en te garandearjen dat dyjingen dy't fieren behear fan sokke ynformaasje, kinne beskermje alle foarwerpen út sûnder foech tredde partijen en, dêrom, de skepping, wiziging of wiskjen fan bepaalde gegevens.

produktiviteit

Dizze databank objekten kinne wurde programmearre op ferskate wizen. Dat kinne brûkers te selektearjen it type fan proses dat soe wêze meast passend, dat skeelt tiid en enerzjy. Dêrneist is de proseduere sels wurdt ferwurke, dus it foarkommen fan grutte tiid bestege oan kommunikaasje tusken de tsjinner en de brûker. De module kin reprogrammed en feroare yn 'e rjochter kant yn hielendal gjin tiid. Benammen wurdich opskriuwen de snelheid wêrmei't de lansearring fan SQL bewarre proseduere komt: it proses is flugger oare te ferlykjen mei dat, wêrtroch't it in handige en alsidich.

feilichheid

Dit soarte fan ynformaasje ferwurking ferskilt fan ferlykbere prosessen yn dat it jout de hechtere feiligens. Dat wurdt garandearre troch it feit dat oare brûkers út tagong ta prosedueres kinne opheft wurde folslein. Dit sil tastean de behearder te fieren operaasjes mei harren selsstannich, sûnder eangst fan Interception of net tastien tagong ta de databank.

Datenübertragung

Kommunikaasje tusken in bewarre SQL proseduere en de kliïnt applikaasje is te brûken op de parameters en weromkomme wearden. Dat lêste is net nedich te zenden de gegevens nei in bewarre proseduere, mar de ynformaasje (benammen op de brûker syn fersyk), en ferwurke foar SQL. Ienris opslein proseduere hat foltôge syn wurk, stjoert it de gegevens pakketten werom (mar, wer, as winske) oan de ropping applikaasje mei help fan in ferskaat oan wizen wêrop't meie wurde útfierd as in oprop ta in bewarre SQL proseduere en werom, bygelyks:

- data transmission fia Output parameter type;

- gegevens trochjaan fia it weromkommen statement;

- Data transmission fia carrier seleksje.

En no sjoch hoe't dit proses sjocht deselde binnen.

1. Meitsje Exec-opslein yn de SQL-proseduere

Jo kinne in proseduere yn MS SQL (Kroon Studio). Nei de proseduere wurdt oanmakke, it is fermeld op in programmierbaren databank knoop, dêr't de proseduere wurdt útfierd troch de behearder fan de skepping. Te fieren SQL opslein prosedueres mei help Exec-in proses dat befettet it foarwerp namme.

By it meitsjen fan de namme komt earst proseduere, en doe makke ien of mear parameters dy't tawiisd oan him. Parameters kin wêze opsje. Nei de parameter (s), dat wol sizze it lichem fan 'e proseduere, wurde skreaun, is it nedich om te fieren út wat needsaaklike operaasjes.

It feit dat de lea hawwe kinne lokale fariabelen, leit yn it, en dy fariabelen binne lokale en yn relaasje ta de prosedueres. Mei oare wurden, se kinne beskôge wurde allinne binnen it lichem behannelingen Microsoft SQL-tsjinner. Opslein prosedueres yn dit gefal wurde beskôge lokale.

Sa, it meitsjen fan in proses, wy moatte in proseduere namme en op syn minst ien parameter as in proseduere lichem. Tink derom dat in treflik opsje yn dit gefal is de skepping en de útfiering fan de prosedueres mei in skema namme yn 'e Klasse.

De proseduere lichem kin ien of oare operators SQL, bygelyks, lykas it oanmeitsjen fan in tafel, it ynstekken ien of meardere rigen fan 'e tafel, it fêststellen fan de databank type en karakter, ensafuorthinne. Dochs, de proseduere lichem yngean guon operaasjes deryn. Guon fan de meast wichtige beheinings wurde hjirunder:

- it lichem net meitsje gjin oare bewarre proseduere;

- it lichem moat net oanmakke in falske yndruk oer it foarwerp;

- it lichem net meitsje gjin Triggers.

2. Stel de fariabele yn 'e lea fan' e proseduere

Jo kinne meitsje fariabelen lokale oan de proseduere fan it liif, en dan sy sille wêze binnen in proseduere lichem. In goede praktyk is it meitsjen fan in fariabele oan it begjin fan 'e opsleine proseduere lichem. Mar jo kinne ek ynstelle fariabelen oeral yn it lichem fan it foarwerp.

Soms kinne jo witten dien dat guon fariabelen wurde ynsteld yn deselde rige, en eltse fariabele skieden troch in komma. Ek derom dat de fariabele wurdt mei as foarheaksel @. Yn it lichem fan 'e proseduere, dan kinne jo ynstelle in fariabele oan dêr't jo wolle. Bygelyks, in fariabele @ NAME1 kin wurde bekend makke nei de ein fan 'e proseduere lichem. Om te tawize in wearde mei in fariabele ferklearre mei help fan in set fan persoanlike gegevens. Yn tsjinstelling ta de situaasje at der mear dan ien fariabele ferklearre yn deselde rige, mar ien set fan 'e persoanlike gegevens brûkt wurde yn dizze situaasje.

Brûkers faak freegje de fraach: "Hoe om te wizen meardere wearden yn ien ferklearring yn it lichem fan de proseduere? 'Well. Nijsgjirrige fraach, mar dit is folle makliker as jo tinke. It antwurd: mei help fan sokke pearen lykas «selektearje Var = value". Jo kinne brûk meitsje fan dizze pearen, skieden troch komma 's.

3. Meitsje in SQL bewarre proseduere

Yn in grut ferskaat oan foarbylden fan minsken sjen it meitsjen fan in ienfâldich opslein proseduere en fieren is. Lykwols, de proseduere kin nimme sokke parameters dat de ropping proses dat sil 't in wearde ticht by it (mar net altyd). At se oerien, dan begjint it bypassende prosessen binnen it lichem. Bygelyks, as jo in proseduere dy't sil nimme de stêd en de regio fan 'e Caller en werom de gegevens oer hoefolle fan de auteurs ferwize nei de oerienkommende stêd en regio. De proseduere wurdt query in databank tafel fan skriuwers, bygelyks, Puber, foar it útfieren fan dizze berekkening skriuwers. Om krijen dizze databases, bygelyks, de Google downloads de SQL skript mei SQL2005 side.

Yn de foarige foarbyld, de proseduere duorret twa parameters, dy't yn it Ingelsk soe neamd wurde conditionally @State en @City. De gegevens type komt oerien mei it type oantsjutte yn it programma. De proseduere liif hat ynterne fariabelen @TotalAuthors (alle skriuwers), en dizze fariabele wurdt brûkt om de werjefte fan harren nûmer. Next komt in rubryk seleksje fersyk dat alle grêven. Ta beslút, it berekkene wearde wurdt werjûn yn de útgong finster mei help fan de print ferklearring.

Hoe te fieren in SQL bewarre proseduere

Der binne twa manieren om te fieren de proseduere. De earste wize wurdt werjûn troch passing parameters as in troch komma 's skieden list is dien nei de proseduere namme. Stel, wy ha twa wearden (lykas yn de foarige bygelyks). Dy wearden binne sammele mei help fan fariabelen en @State @City proseduere. Yn dizze metoade, wichtige parameters fan de oerdracht oarder. Dy metoade hjit it trochjaan opienfolging fan arguminten. Yn it twadde metoade, de parameters binne al tawiisd direkt, yn hokker gefal de oarder is net wichtich. Dit twadde metoade is bekend as it trochjaan fan neamde arguminten.

De proseduere kin in bytsje ôfwike fan de typyske. Allegearre itselde, as yn 'e foarige foarbyld, mar de parameters binne ferskood hjir allinne. Dat is @City parameter wurdt opslein earst, en @State opslein njonken de standertwearde. De standert ynstelling wurdt meastal tarekkene apart. SQL opslein prosedueres binne sa simpel parameters. Yn dit gefal, mits de opsje "de UT 'ferfangt de standert wearde fan" CA ". Yn in twadde útfiering giet mar ien argumint wearde foar @City, en @State opsje standert is "CA". Ervaren programmeurs wurdt advisearre dat alle standert fariabelen lizze tichter by de ein fan de parameter list. Oars, de útfiering is net mooglik, dan hast oan it wurk mei de oerdracht fan neamde arguminten dat it langer en yngewikkelder.

4. Fêstleine Prosedueres SQL Server: manieren fan weromkomme

Der binne trije grutte manieren te stjoeren gegevens opslein yn 'e neamd proseduere. Se steane hjirûnder:

- return wearden opslein proseduere;

- Utfier parameter opslein prosedueres;

- Selektearje ien fan de bewarre prosedueres.

4.1 Return wearden fan SQL bewarre prosedueres

Yn dizze proseduere, de proseduere bepaalt de wearde fan 'e pleatslike fariabele en jout dat. De proseduere kin ek rjochtstreeks weromkomme in konstante wearde. Yn de neikommende foarbyld, ha wy in proseduere dy't jout it totale tal fan sponsors. As wy ferlykje dit mei de foarige proseduere, dan kinne jo sjen, dat de wearde fan 'e print wurdt ferfongen troch it tsjinoerstelde.

No litte we ris nei hoe't te fieren de proseduere en sjen litte de wearde, retourneer dizze. Performing prosedueres nedich om fêst te stellen en fariabele printsjen, dat is útfierd nei it proses. Notice dy't ynstee fan printsjen de operator kin gebrûk meitsje fan de Selektearje-operator, bygelyks, selektearje @RetValue, en OutputValue.

4.2 Utfier Parameter SQL opslein prosedueres

De respons wearde kin brûkt wurde om werom ien fariabele, dat ha wy sjoen yn 'e foarige foarbyld. Mei help fan de Utfier kinne de proseduere te stjoeren ien of mear fariabelen oan de ropping partij. Útfier parameter wurdt oantsjutten as tiid dizze kaai wurd «útfier» doe't it meitsjen proseduere. As de parameter wurdt opjûn as in útgong parameter, de proseduere foarwerp moat tawize it in wearde. Opslein prosedueres SQL, foarbylden fan wat him sjen hjirûnder, yn sa'n gefal werom nei it definitive ynformaasje.

Yn dit foarbyld, der sil wêze twa wykeinen namme: @TotalAuthors en @TotalNoContract. Se binne oantsjutte yn de parameter list. Dy fariabelen binne tawiisd wearden binnen de proseduere lichem. As wy brûke de útgong parameters, de Caller kin sjen de wearde set yn de proseduere lichem.

Dêrneist, yn 'e foarige senario, twa fariabelen binne ferklearre te sjen yn de wearden dy't ynstallearre bewarre prosedueres, MS SQL-tsjinner as in útfiertriem parameter. Dan de proseduere wurdt útfierd troch it tapassen fan de normale wearde «CA» parameter. De folgjende parameters binne output en, dêrom, ferklearre fariabelen wurde trochjûn oan de foarskreaune wize. Tink derom dat as in fariabele output stekwurd ek oantsjutte hjir. Nei de proseduere ôfrûne is slagge, de wearde werom troch help fan de útfier parameters wurde werjûn op 'e berjocht finster.

4.3 It selektearjen fan in SQL bewarre prosedueres

Dizze technyk wurdt brûkt om werom in set yn de foarm tabel data wearden (RecordSet) foar ropt in opsleine proseduere. Yn dit foarbyld, SQL bewarre proseduere mei parameters @AuthID fersiken tabel "auteurs" by filterjen de registers werom troch dizze parameter @AuthId. Selektearje operator bepaalt wat wurde moat werom nei it roppen fan in opsleine proseduere. As in opsleine proseduere AuthId trochjûn werom. Sa'n proseduere is altyd jout mar ien rekôr of hielendal gjint. Lykwols, de opsleine proseduere hat gjin gjin beheiningen op it weromkommen fan mear as ien yngong. Faak foarbylden kinne fûn wurde yn hokker it weromkommen gegevens selektearre mei help fan parameters mei de berekkene fariabelen wurdt dien troch it fersoargjen fan in mearfâldichheid fan totaal wearden.

in konklúzje

In opsleine proseduere is in moaie serieus programma, werom of oerdroegen, en ek it fêststellen fan de nedige fariabelen fanwege de klant applikaasje. Sûnt de opsleine proseduere wurdt eksekutearre op de tsjinner sels, data útwikseling yn grutte dielen útbrocht tusken de tsjinner en de kliïnt applikaasje (foar guon berekkeningen) kinne foarkommen wurde. Dit makket it mooglik om te ferminderjen de lêst fan de SQL-tsjinner, dat, fansels, is de hân fan harren holders. Ien fan 'e ûndersoarten wurde opslein prosedueres T SQL, mar harren stúdzje is nedich oan dyjingen belutsen by it ta stân kommen fan in yndrukwekkende databank. Der is ek in grutte, sels grutte mannichte nuânses dy't kin brûkber wêze yn 'e stúdzje fan' e bewarre prosedueres, lykwols, dit ferlet fan dyjingen dy't binne fan doel te dwaan strakke programmearring, ynklusyf profesjoneel.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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