Computeren, Datenbanken
SQL gespäichert Prozeduren: schafen a Gebrauch
SQL gespäichert Prozedure Programm Software Modul datt am gespäichert ginn kann der Datebank an der Form vu verschiddenen Objeten. An anere Wierder, et ass en Objet, datt SQL-Ausso enthält. Dës gespäichert Prozeduren kann am Client Applikatioun higeriicht ginn eng gutt Performance ze kréien. Zousätzlech, sinn esou Ariichtungen oft vun anere Scripten genannt oder souguer aus all aner Rubrik.
Aféierung
Vill Leit mengen, datt si zu de Prozedure vun de verschiddenen ähnlech sinn héich-Niveau programméiere Sproochen (bzw., ausser fir MS SQL). Vläicht ass dat richteg. Si hunn ähnlech Parameteren, kënnen se eng ähnlech Wäert Thema. Desweideren, an e puer Fäll, kommen se an Kontakt. Zum Beispill, sinn se mat Datenbanken vun DDL an der DML Daten kombinéiert, souwéi Benotzer Funktiounen (Code Numm - UDF).
Eigentlech gespäichert SQL Prozeduren hunn eng breet Palette vu Virdeeler, datt se ënnert esou Prozesser z'ënnerscheeden. Sécherheet, Verännerlechkeet programméiere Produktivitéit - all dës lackelt Benotzer mat Datenbanken schaffen, méi a méi. De Biergspëtzten vun Popularitéit huet Prozeduren fir d'Joer 2005-2010, wann ech de Programm vun de "Microsoft" ënner dem Numm «SQL Server Management Studio» krut. Mat senger Hëllef, Aarbecht mat Datenbanken ass vill méi einfach, méi praktesch a méi praktesch. Joer no Joer, dës Method Informatiounen vun vermëttelen verdengten Popularitéit am programméiere Ëmwelt. Haut, MS SQL Server ass absolut normalen Programm, dee fir Benotzer ze "kommunizéiert" mat Datenbanken, op engem par stoungen mat "Excel".
Wann Dir der Prozedur ruffen, ass et déi vum Server ouni onnéideg Prozesser an Benotzer Interventioun direkt Filteren. Läschen, Ausféierung, Ännerung: Dir kënnt dann all Aktioun mat den Informatiounen Leeschtunge. Iwwer dëst alles ass am DDL-Bedreiwer, deen eenzege-handedly komplex Aktiounen op deenen Objeten Leeschtunge. An et all geschitt ganz schnell, an de Server net tatsächlech iwwerlaascht. Dës Vitesse a Produktivitéit loosse séier Dir grouss Quantitéiten vun Informatiounen aus de Benotzer op d'Server an Vize versa Transfert.
Fir dës Aarbecht mat der Informatioun ëmsetzen, ginn et e puer programméiere Sproochen Technologien. Dozou gehéiert zum Beispill, eens / SQL aus der Datebank Gestioun System e méi, PSQL zu InterBase an Feuervogel Systemer, souwéi d'klassesch "maykrosoftovskih» Transact-SQL. All vun hinnen sinn ze schafen an lafen gespäichert Prozeduren entworf, gesidd dir hir eege algorithms op enger grousser Datebank handlers konzentréiert. Et ass néideg an ze suergen, datt déi, déi Gestioun vun esou Informatiounen üben, kënnen all Objeten aus onerlaabt drëtte Parteien schützen an, also, d'Kreatioun, Verännerung oder Läschen vun verschidden Donnéeën.
Produktivitéit
Dës Datebank Objete kann a verschiddene Weeër programmed ginn. Dëst erlaabt Benotzer déi Zort Prozess ze wielt datt déi Placementer ginn hätt, déi Zäit an Energie spuert. Zousätzlech, ass d'Prozedur selwer Filteren, also grouss Zäit op Kommunikatioun tëscht de Server an de Benotzer ass bestinn. De Modul kënnen an absolut all Moment an déi richteg Richtung reprogrammed a geännert ginn. Besonnesch Wäert opgeschriwwen der Vitesse mat där d'starten vun SQL gespäichert Prozedur existeiert: Prozess ass méi séier anere gläicht et, et eng praktesch a villsäiteger Mëtt spazéieren.
Sécherheet
Dës Zort vun Informatiounen Veraarbechtung Ënnerscheed aus ähnlechen Prozesser an dass et verstäerkte Sécherheet gëtt. Dëst ass vun der Tatsaach virubestoen, datt aner Benotzer vum Accès Prozeduren ganz éliminéiert ginn. Dëst wäert erlaben de Administrateur Operatiounen mat hinnen onofhängeg ouni Angscht an d'Datebank vun ofgefaangen oder Zougrëff, bis Exercice.
Donnéeën Transfert
Kommunikatioun tëscht engem gespäichert SQL Prozedur an de Client Uwendung ass d'Parameteren ze benotzen a Wäerter zréck. De Fonds ass net néideg d'Daten op eng gespäichert Prozedur ze weiderginn, mä d'Informatiounen (haaptsächlech op der Demande d'Benotzer), a fir SQL Filteren. Eemol gespäichert Prozedur huet hir Aarbecht ofgeschloss, et der Daten bloer schéckt zeréck (mee, erëm, wann erwënscht) an d'Vocatioun Applikatioun benotzt eng Rei vu Methoden duerch déi als ruffen zu engem gespäichert SQL Prozedur ëmgesat ginn an zréck, zum Beispill:
- Donnéeën Transmissioun via Ausgabbehälter Parameter Typ;
- Donnéeën Transmissioun via de Retour Ausso;
- Data Transmissioun via Numm Auswiel.
An elo kucken, wéi dat Prozess déi selwecht bannen ausgesäit.
am SQL Prozedur 1. E exec-gespäichert
Dir kënnt eng Prozedur am MS SQL (MANAGMENT Studio) schafen. Nom Prozedur geschaf ass, ass et op engem programmable Datebank Node opgezielt, an deem d'Prozedur vun de Bedreiwer vun Kreatioun gesuergt ass. Ze exekutéieren SQL gespäichert Prozeduren benotzt exec-engem Prozess, datt den Objet Numm enthält.
Wann schafen den Numm éischt Prozedur kënnt, an huet duerno eng oder méi Parameteren dass him gehéiert ginn. Parameteren kann fakultativ ginn. Nom Parameter (s), dh de Kierper vun der Prozedur, geschriwwe ginn, ass et néideg puer néideg Operatiounen ze üben.
D'Tatsaach, datt de Kierper kann lokal Verännerlechen hunn, an et läit, an dës Verännerlechen sinn lokal a par rapport zu de Prozeduren. An anere Wierder, kann se nëmmen am Kierper Behandlungen considéréiert ginn Microsoft SQL Server. Gespäichert Prozeduren an dësem Fall sinn lokal considéréiert.
Also, e Prozess ze schafen, brauche mer eng Prozedur Numm an op d'mannst ee Parameter als Prozedur Kierper. Weg drun, dass eng excellent Optioun an dësem Fall ass d'Kreatioun an Ëmsetzung vun Prozeduren mat engem Schema Numm am classifier.
D'Prozedur Kierper kann all Zort vun Opérateuren SQL hunn, zum Beispill, wéi en Dësch ze schafen, Aschreiwe een oder méi Zeile vum Dësch, Schafung vun der Datebank Typ a Charakter, an sou op. Trotzdem, ze din der Prozedur Kierper an et puer Operatiounen. E puer vun de wichtegsten Aschränkungen sinn heiënnen opgezielt:
- de Kierper schafen net all aner gespäichert Prozedur;
- de Kierper e falschen Androck iwwer de Objet net schafen muss;
- de Kierper schafen net all kontrolléiert.
2. d 'ofwiesselnd am Kierper vun der Prozedur
Dir kënnt Verännerlechen lokal un der Prozedur vun der Kierper maachen, an da wäerten si bannent enger Prozedur Kierper ginn. Eng gutt Praxis ass eng Variabel am Ufank vun der Prozedur gespäichert Kierper ze schafen. Mä Dir kënnt och Verännerlechen iwwerall am Kierper vun der Objet Formatioun.
Heiansdo kënnt dir festgestallt datt e puer Verännerlechen an der selwechter hannertenee virbereet sinn, an all vun engem verbrauchen getrennt ofwiesselnd. Och drun, dass de ofwiesselnd mat @ prefixed ass. Am Kierper vun der Prozedur, kënnt Dir eng Variabel Formatioun fir déi Dir wëllt. Zum Beispill, kann eng Variabel @ NAME1 Richtung Enn vun der Prozedur Kierper annoncéiert ginn. Fir e Wäert op eng Variabel zu uginn deklaréiert engem Set vu perséinlechen Daten benotzt. Am Géigesaz zu der Situatioun wou méi wéi een Verännerleche am selwechten hannertenee deklaréiert, nëmmen eng Formatioun vu perséinlechen Daten an dëser Situatioun benotzt.
Benotzer froen oft d'Fro: "Wéi MÉI Wäerter an enger eenzeger Ausso am Kierper vun der Prozedur ze uginn" Ma?. Interessant Fro, mä dat ass vill méi einfach wéi Dir mengt. D'Äntwert: mat der Hëllef vun esou Puer als «Wielt VAR = Wäert". Dir kënnt dës Puer, getrennt duerch Gänseféissecher benotzen.
3. E engem SQL gespäichert Prozedur
An enger grousser Villfalt vu Beispiller vu Leit weisen engem einfachen gespäichert Prozedur ze schafen an dat exekutéieren. Allerdéngs kann d'Prozedur esou Parameteren huelen, datt d'Vocatioun Prozess et e Wäert genotzt, fir et (awer net ëmmer) muss ginn. Wann se Match, fänkt dann déi entspriechend Prozesser am Kierper. Zum Beispill, wann Dir eng Prozedur schafen, dass d'Stad a Regioun aus dem Ament huelen wäert an Retour den Donnéeën iwwer wéi vill d'Auteuren dem entspriechend Stad a Regioun kuckt. D'Prozedur wäert eng Datebank Dësch vun Auteuren Paieziedel, zum Beispill, Pub, dës Berechnunge Auteuren fir leeschtungsfäheg. Fir dës Datenbanken, zum Beispill kréien, Downloads der Google der SQL Schrëft mat SQL2005 Säit.
Am virdrun Beispill, hëlt d'Prozedur zwee Parameteren, déi an Englesch géif no @State an @City genannt ginn. D'Daten Typ entsprécht der Zort an der Applikatioun uginn. D'Prozedur Kierper huet intern Verännerlechen @TotalAuthors (all Auteuren), an dat ofwiesselnd benotzt ass hir Zuel ze affichéieren. Nächst kënnt eng Auswiel Ufro Rubrik datt all zielt. Endlech, ass de Wäert berechent am Wasserstoff Fënster ugewisen der Drécken Ausso benotzt.
Wéi eng SQL gespäichert Prozedur ze Leeschtunge
Et ginn zwou Méiglechkeeten der Prozedur ze Leeschtunge. Déi éischt Manéier ass déi laanschtgoungen Parameteren dës Distanz als verbrauchen-getrennt Lëscht no der Prozedur Numm gemaach ass. Ugeholl hu mir zwee Wäerter (wéi an der viregter Beispill). Dës Wäerter sinn gesammelt benotzt Verännerlechen an @State @City Prozedur. Dës Method, wichteg Parameteren vun der Transmissioun Uerdnung. Dës Method ass d'Transmissioun Haaptrei vun Argumenter genannt. An der zweeter Method, sinn d'Parameteren schonn direkt zougewisen, an deem Fall d'Uerdnung net wichteg ass. Dat zweet Method ass wéi d'Transmissioun vun genannt Argumenter bekannt.
D'Prozedur kann liicht aus der typesch wäicht. déiselwecht, wéi an der viregter Beispill All, mä de Parameteren sinn hei nëmmen onreegelméissegen. Dat ass @City Parameter éischt gespäichert ass, an @State nieft der Default Wäert gespäichert. D'Default Kader ass normalerweis getrennt entgéintgeholl. SQL gespäichert Prozedure wéi einfach Parameteren. An dësem Fall, gëtt d'Optioun CA "" d'féier 'd'Default Wäert vun ersetzt ". An eng zweet Ausdrock Passë eenzegen Argument Wäert fir @City, an @State Optioun Standardastellungen ze "CA". Erlieft Programméierer ginn ugeroden, datt de all Default Verännerlechen méi no un d'Enn vun der Parameter Lëscht etabléiert sinn. Anescht, ass d 'Ausféierung net méiglech, da musst dir mam Transfert vun genannt Argumenter Aarbecht déi méi a méi komplizéiert.
4. gespäichert Démarchen SQL Server: Weeër vun zréckgoen
Et ginn dräi grouss Weeër Daten am genannt Prozedur gespäichert ze schécken. Si heiënnen opgezielt:
- Retour Wäerter gespäichert Prozedur;
- Ausgabbehälter Parameter gespäichert Prozeduren;
Wielt eng vun den gespäichert Prozeduren -.
4,1 Zeréck Wäerter vun SQL gespäichert Prozeduren
An dëser Prozedur, baut d'Prozedur de Wäert vun der lokal ofwiesselnd a preparéieren et. D'Prozedur kann och direkt e konstante Wäert zréck. An der folgender Beispill, hu mir eng Prozedur hunn, dass den Total Zuel vun Sponsore preparéieren. Wa mir mat der viregter Prozedur vergläichen dat, kanns du gesinn, datt de Wäert vun Drécken vum ëmgedréint ageholl ass.
Schwätze mer elo kucken, wéi d'Prozedur ze Leeschtunge an de Wäert Kaart, Retour et. Leeschtungsfäheg Prozeduren néideg gedoe an ofwiesselnd Dréckerei, déi no de Prozess gemaach gëtt. Remark amplaz de Bedreiwer vun der Dréckerei Wielt-Bedreiwer, zum Beispill, Wielt @RetValue, an OutputValue benotze kann.
4.2 Ausgabbehälter Parameter SQL gespäichert Prozeduren
D'Äntwert Wäert kann benotzt ginn eng eenzeg Variabel fir zréck, datt mer an der leschter Beispill gesinn hunn. der Ausgabbehälter mat der Prozedur erlaabt eng oder méi Verännerlechen op d'Vocatioun Partei ze schécken. Wasserstoff Parameter ass den Zäit dësem Schlëssel Wuert «Wasserstoff» mat wann Prozedur ze schafen. Wann de Parameter als Wasserstoff Parameter uginn ass, muss d'Prozedur Objet et e Wäert uginn. Gespäichert Prozeduren SQL, Beispiller vun deem ënnert gesi kann, an engem esou Fall zeréck op d'Finale Informatiounen.
An dësem Beispill gëtt et zwou Weekend Numm ginn: @TotalAuthors an @TotalNoContract. Si sinn an der Lëscht Parameter uginn. Dës Verännerlechen sinn zougewisen Wäerter am Prozedur Kierper. Wann mir d'Wasserstoff Parameteren benotzen, kann den Ament de Wäert vun der Prozedur Kierper Formatioun gesinn.
Zousätzlech, an der viregter Szenario, sinn zwee Verännerlechen deklaréiert de Wäerter ze gesinn, datt gespäichert Prozeduren, MS SQL Server als Wasserstoff Parameter installéiert sinn. Dann ass d'Prozedur vun der Kandidatur normal Wäert «CA» Parameter gesuergt. Déi folgend Parameteren sinn Wasserstoff an, also, deklaréiert Verännerlechen sinn am matzebréngen Manéier huet. Weg drun, dass wann e verännerleche Wasserstoff Schlësselwuert och hei uginn. Nom Prozedur erfollegräich ofgeschloss ass, sinn op de Message Fënster ugewisen de Wäert hannescht vum Wasserstoff Parameteren benotzt.
4,3 wielen engem SQL gespäichert Prozeduren
Dës Technik ass benotzt enger Formatioun a Form Dësch Daten Wäerter (RecordSet) bis zréck fir eng gespäichert Prozedur Vocatioun. An dësem Beispill SQL Prozedur mat Parameteren gespäichert @AuthID Dësch "Auteuren" Demanden vun de Rekorder vun dësem Parameter @AuthId hannescht Filter. Wielt Bedreiwer decidéiert wat fir d'Vocatioun engem gespäichert Prozedur hannescht ginn soll. Wann AuthId engem gespäichert Prozedur iwwerdroen zréck. Esou enger Prozedur ass ëmmer nees nëmmen eng Rekord oder guer näischt. Allerdéngs hunn de gespäichert Prozedur net all Restriktiounen op de Retour vun méi wéi ee wëll. Oft kann Beispiller an deem ausgewielt benotzt Parameteren mat der berechent Verännerlechen zréck Daten fonnt ginn ass geschitt duerch e Majorzsystem vun Ganzen Wäerter suergt.
an Conclusioun
A gespäichert Prozedur ass eng flott schlëmmen Programm, hannescht oder iwwerginn, wéi och déi néideg Verännerlechen wéinst dem Optraggiewer Applikatioun Schafung. Zanter der gespäichert Prozedur op de Server virschaffe ass selwer, Datenaustausch am groussen Bänn tëschent de Server an der Client Applikatioun (fir verschidde Berechnungen) ka verhënnert ginn. Dëst mécht et méiglech d'Laascht op der SQL Server, déi, natierlech ze reduzéieren, d'Hand vun hirem consideréiert gëtt. Ee vun de subspecies sinn Prozeduren T SQL gespäichert, mä hir Etude ass zu deenen an der Schafung vun enger impressionanter Datebank Équipe waren. Et ass och e groussen, och enorm Zuel vun Nuancen, déi an der Etude vun gespäichert Prozeduren nëtzlech kann Ee, dat brauchen fir déi, déi si Planung knapper programméiere ze maachen, professionell inklusiv.
Similar articles
Trending Now