www.wikidata.uk-ua.nina.az
Zberezhena procedura angl stored procedure takozh zvana proc storp sproc StoPro StoredProc StoreProc sp abo SP pidprograma dostupna zastosunkam yaki mayut dostup do sistemi keruvannya relyacijnimi bazami danih SKRBD Taki proceduri zberigayutsya u slovniku danih bazi Do tipovih zastosuvan zberezhenih procedur nalezhat validaciya danih en vbudovana do bazi danih ta mehanizmi kontrolyu dostupu Krim togo zberezheni proceduri mozhut zbirati ta centralizuvati logiku yaku spochatku bulo realizovano v zastosunkah Dlya zberezhennya chasu ta pam yati ob yemni chi skladni obrobki sho vimagayut vikonannya dekilkoh operatoriv SQL mozhe buti zibrano do zberezhenih procedur i usi zastosunki mozhut viklikati ci proceduri Mozhna vikoristovuvati vkladeni zberezheni proceduri shlyahom vikliku odnih procedur z inshih Zberezheni proceduri podibni do koristuvackih funkcij en angl user defined function UDF Osnovnoyu vidminnistyu ye te sho koristuvacki funkciyi mozhut vikoristovuvatisya yak inshi virazi v operatorah SQL todi yak zberezheni proceduri povinni viklikatisya operatorom CALL 1 CALL procedure abo EXECUTE procedure Zberezheni proceduri mozhut povertati rezultatni nabori tobto rezultati operatora a href Select SQL html title Select SQL SELECT a Taki rezultatni nabori mozhlivo obroblyuvati z vikoristannyam kursoriv inshimi zberezhenimi procedurami shlyahom pov yazuvannya viznachnika rezultatnogo naboru abo zastosunkami Zberezheni proceduri takozh mozhut mistiti ogolosheni zminni dlya obrobki danih i kursori sho dozvolyayut organizovuvati cikli po ryadkah tablici Do operatoriv keruvannya potokom zberezhenih procedur zazvichaj nalezhat IF WHILE LOOP REPEAT ta CASE a takozh inshi Zberezheni proceduri mozhut otrimuvati zminni povertati rezultati chi zminyuvati zminni ta povertati yih zalezhno vid sposobu ta miscya ogoloshennya zminnoyi Zmist 1 Realizaciya 2 Porivnyannya z dinamichnoyu SQL 3 Inshi zastosuvannya 4 Porivnyannya z funkciyami 5 Porivnyannya z pidgotovlenimi operatorami 6 Nedoliki 7 Primitki 8 PosilannyaRealizaciya RedaguvatiTochna i pravilna realizaciya zberezhenih procedur riznitsya vid odniyeyi sistemi baz danih do inshoyi Bilshist osnovnih postachalnikiv baz danih u tomu chi inshomu viglyadi yih pidtrimuyut Zalezhno vid sistemi baz danih zberezheni proceduri mozhlivo realizovuvati riznimi movami programuvannya napriklad SQL Java C abo C Zberezheni proceduri napisani movami vidminnimi vid SQL mozhut mati abo ne mati mozhlivosti vikonuvati vlasne operatori SQL Zbilshennya prijnyattya zberezhenih procedur sprichinilo vprovadzhennya procedurnih elementiv do movi SQL u standartah SQL 1999 ta SQL 2003 u chastini SQL PSM Ce zrobilo SQL imperativnoyu movoyu programuvannya Bilshist sistem baz danih nadayut vlasnicki chi specifichni rozshirennya postachalnika ponad SQL PSM Standartna specifikaciya zberezhenih procedur Java en isnuye yak SQL JRT en Sistema baz danih Mova realizaciyiCUBRID en JavaDB2 SQL PL en blizka do standartu SQL PSM abo JavaFirebird PSQL Fyracle takozh pidtrimuye chastini Oracle PL SQL Informix SPL abo JavaMicrosoft SQL Server Transact SQL ta rizni movi NET FrameworkMySQL vlasni zberezheni proceduri sho blizko dotrimuyutsya standartu SQL PSMNuoDB en SQL abo JavaOracle PL SQL abo JavaPostgreSQL PL pgSQL ru mozhe takozh vikoristovuvati vlasnu funkcijnu movu yak ot PL Perl abo PL PHPSAP HANA ru SQL abo RSybase ASE en Transact SQLPorivnyannya z dinamichnoyu SQL RedaguvatiNakladni vitrati Oskilki operatori zberezhenih procedur zberigayutsya bezposeredno u bazi danih voni mozhut pozbavlyati vsih abo chastini nakladnih vitrat na kompilyaciyu sho zazvichaj neobhidno v situaciyah koli programni zastosunki nadsilayut ryadkovi dinamichni zapiti SQL do bazi danih Prote bilshist sistem baz danih realizuyut keshi operatoriv ta inshi metodi unikannya povtornoyi kompilyaciyi dinamichnih operatoriv SQL Takozh unikayuchi deyakogo poperedno skompilovanogo SQL operatori uskladnyuyut pobudovu optimalnogo planu vikonannya cherez te sho ne vsi argumenti operatora SQL nadayutsya pid chas kompilyaciyi Zalezhno vid konfiguraciyi ta nalashtuvan baz danih mozhna sposterigati zmishani rezultati produktivnosti zberezhenih procedur u porivnyanni zi zvichajnimi zapitami ta koristuvackimi funkciyami Unikannya merezhevogo trafiku Osnovnoyu perevagoyu zberezhenih procedur ye te sho voni mozhut zapuskatisya bezposeredno v rushiyi bazi danih U virobnichij sistemi ce zazvichaj oznachaye sho proceduri zapuskayutsya cilkom na specializovanomu serveri baz danih yakij maye pryamij dostup do danih Perevagoyu ye te sho vitrat na merezhevi komunikaciyi mozhna uniknuti povnistyu Ce staye vazhlivishim dlya skladnishih poslidovnostej operatoriv SQL Inkapsulyuvannya biznes logiki Zberezheni proceduri dozvolyayut programistam vbudovuvati biznes logiku yak PPI do bazi danih sho mozhe sproshuvati keruvannya danimi ta zmenshuvati neobhidnist koduvannya logiki deinde u kliyentskih programah Ce mozhe prizvoditi do znizhennya jmovirnosti poshkodzhennya danih zbijnimi kliyentskimi programami Za dopomogoyu zberezhenih procedur sistema baz danih mozhe zabezpechuvati cilisnist i uzgodzhenist danih Deleguvannya prav dostupu U bagatoh sistemah zberezhenim proceduram mozhut nadavatisya taki prava dostupu do bazi danih yakih koristuvachi sho vikonuyut ci proceduri bezposeredno ne mayut Deyakij zahist vid atak SQL in yekciyami Zberezheni proceduri mozhut vikoristovuvatisya dlya zahistu vid atak in yekciyami Parametri zberezhenih procedur rozglyadayutsya yak dani navit yaksho napadnik vstavlyaye komandi SQL Takozh deyaki SKBD pereviryayut tipi parametriv Odnak zberezhena procedura sho generuye dinamichnij SQL z vikoristannyam vhodu vse odno vrazliva do SQL in yekcij za vidsutnosti nalezhnih zapobizhnih zahodiv Inshi zastosuvannya RedaguvatiV deyakih sistemah zberezheni proceduri mozhut vikoristovuvatisya dlya kontrolyu za upravlinnyam tranzakciyami v inshih zberezheni proceduri zapuskayutsya vseredini tranzakciyi tak sho ostanni efektivno yih obgortayut Zberezheni proceduri takozh mozhut viklikatisya z trigera bazi danih abo obrobnika umovi Napriklad zberezhena procedura mozhe spracovuvati pri vstavci do zadanoyi tablici chi onovlenni yiyi polya i vikonuvatimetsya kod vseredini zberezhenoyi proceduri Takozh napisannya zberezhenih procedur yak obrobnikiv umov dozvolyaye administratoram baz danih vidstezhuvati pomilki v sistemi z bilshoyu detalizaciyeyu shlyahom yih vikoristannya dlya vidlovlyuvannya pomilok i zapisu deyakoyi informaciyi dlya auditu do bazi danih abo zovnishnogo resursu napriklad fajlu Porivnyannya z funkciyami RedaguvatiFunkciya ye pidprogramoyu napisanoyu dlya vikonannya deyakih obchislen Skalyarna funkciya povertaye lishe odne znachennya abo NULL todi yak tablichna funkciya povertaye relyacijnu tablicyu sho skladayetsya z 0 chi bilshe ryadkiv yaki u svoyu chergu z 1 chi bilshe stovpchikiv Funkciyi povinni povertati znachennya vikoristovuyuchi klyuchove slovo RETURN ale vid zberezhenih procedur ce ne vimagayetsya Zberezheni proceduri mozhut vikoristovuvati klyuchove slovo RETURN ale bez peredavannya zhodnogo znachennya Funkciyi mozhut vikoristovuvatisya v operatorah SELECT za umovi sho voni ne manipulyuyut danimi Proceduri zh do operatoriv a href Select SQL html title Select SQL SELECT a vklyucheno buti ne mozhe Zberezheni proceduri mozhut povertati kilka znachen vikoristovuyuchi parametr OUT abo ne povertati yih vzagali Zberezhena procedura zaoshadzhuye chas kompilyuvannya zapitiv Zberezhena procedura ye ob yektom bazi danih Zberezhena procedura ye materialnim ob yektom Porivnyannya z pidgotovlenimi operatorami RedaguvatiPidgotovleni operatori en prijmayut na vhid zvichajnij operator abo zapit i parametrizuyut jogo tak sho piznishe mozhut vikoristovuvatisya rizni znachennya literaliv Yak i zberezheni proceduri voni zberigayutsya na serveri zadlya efektivnosti ta nadayut deyakij zahist vid atak SQL in yekciyami Prostishi ta bilsh deklarativni pidgotovleni operatori zazvichaj ne pishutsya z vikoristannyam procedurnoyi logiki i ne mozhut operuvati zminnimi Cherez prostij interfejs i realizaciyu na boci kliyenta pidgotovleni operatori ye shirshe perenosnimi mizh SKBD Nedoliki RedaguvatiMovi zberezhenih procedur chasto specifichni dlya postachalnika Zmina postachalnikiv baz danih zazvichaj vimagaye perepisuvannya nayavnih zberezhenih procedur Movi zberezhenih procedur riznih postachalnikiv mayut rizni rivni vitonchenosti Napriklad pgpsql u Postgres maye bilshe movnih mozhlivostej osoblivo z rozshirennyami nizh Microsoft T SQL dzherelo Zasobi pidtrimki napisannya ta znevadzhuvannya zberezhenih procedur chasto ne taki dobri yak dlya inshih mov programuvannya ale ce riznitsya mizh postachalnikami ta movami Napriklad i PL SQL i T SQL mayut vidileni ISR ta znevadzhuvachi PL PgSQL mozhna znevadzhuvati z riznih ISR Zmini zberezhenih procedur vazhche vidstezhuvati v mezhah sistem keruvannya versiyami nizh zmini inshogo kodu Zmini povinni vidtvoryuvatisya yak scenariyi dlya vklyuchennya do istoriyi proektu a riznici u procedurah mozhe buti vazhche pravilno zlivati ta vidstezhuvati Primitki Redaguvati Call Procedure anglijskoyu IBM Arhiv originalu za 7 travnya 2020 Procitovano 24 bereznya 2022 Posilannya RedaguvatiZberezheni proceduri v MySQL MySQL Arhiv originalu za 26 lyutogo 2017 Procitovano 4 lyutogo 2017 Oglyad pidtrimki procedurnoyi movi PostgreSQL PostgreSQL Arhiv originalu za 5 travnya 2016 Procitovano 4 lyutogo 2017 Vikoristannya zberezhenoyi proceduri v Sybase ASE Arhiv originalu za 5 lyutogo 2017 Procitovano 4 lyutogo 2017 Proceduri PL SQL Stenfordskij universitet Arhiv originalu za 3 grudnya 2016 Procitovano 4 lyutogo 2017 Dovidnik movi PL SQL baz danih Oracle Oracle Corporation Arhiv originalu za 28 zhovtnya 2011 Procitovano 4 lyutogo 2017 Otrimano z https uk wikipedia org w index php title Zberezhena procedura amp oldid 38913375