КомпьютерлерМәліметтер базасы

SQL сақталатын процедуралар: жасау және пайдалану

SQL сақталатын процедуралар сақталатын болады орындалатын бағдарламалық модулінің бар деректер базасын түрлі объектілердің түрінде. Басқаша айтқанда, ол SQL-өтініш бар объект болып табылады. Бұл сақталған процедуралар жақсы өнімділікке жету үшін клиенті бағдарламаларында орындалуы мүмкін. Сонымен қатар, мұндай нысандар жиі басқа сценарий немесе тіпті кез келген басқа бөлімінде деп аталады.

кіріспе

Көптеген адамдар, олар әр түрлі рәсімдеріне ұқсас болып табылады деп санайды жоғары деңгейлі бағдарламалау тілдерінде (MS SQL қоспағанда, тиісінше). Бәлкім, бұл шындық. Олар ұқсас мәні шығаруға болады, ұқсас параметрлер бар. Сонымен қатар, кейбір жағдайларда, олар байланысқа түседi. Мысалы, олар DDL және DML деректер базасын, сондай-ақ пайдаланушы функцияларды (- UDF коды атауы) үйлеседі.

Шын мәнінде сақталған SQL рәсімдер мұндай процестер арасында оларды ажырата артықшылықтары кең ауқымды бар. Қауіпсіздік, өзгергіштік бағдарламалау өнімділігі - бұл барлық мәліметтер базасымен жұмыс істеуге пайдаланушылар, көбірек тартады. Мен аты «SQL Server Management Studio» астында «Microsoft» бағдарламасын алды кезде танымал шыңы, 2005-2010 жылдарға арналған рәсімдерді келді. Оның көмегімен, дерекқорлармен жұмыс, әлдеқайда оңай көп практикалық және ыңғайлы болды. Жыл сайын, осы ақпаратты беруге әдісі бағдарламалау ортада танымал болды. Бүгін, MS SQL Server деректер қорымен «қарым-қатынас» деген пайдаланушылар үшін, «Excel» тең тұрды мүлдем әдеттегі бағдарлама болып табылады.

Процедураны қоңырау кезде, ол бірден артық процестердің және пайдаланушы араласуынсыз сервері арқылы өңделеді. Содан кейін Сіз ақпаратты кез келген әрекетті орындай алады: жоюды, орындалуын, өзгеріс. Бұл барлық астам жеке-дара сол объектілеріне күрделі әрекеттерді орындауға DDL-оператор, жылы болып табылады. Және бұл барлық өте тез жүреді, және сервер іс жүзінде жүктелген жоқ. Бұл жылдамдық және өнімділік тез серверге және керісінше пайдаланушының үлкен көлемдегі ақпараттарды аударуға мүмкіндік береді.

ақпаратпен осы жұмысты жүзеге асыру үшін, бірнеше бағдарламалау тілдері технологиялар бар. Бұл, мысалы, бастап PL / SQL қамтиды дерекқор басқару жүйесі InterBase және Firebird жүйелерінде Oracle, PSQL, сондай-ақ классикалық «maykrosoftovskih» Transact-SQL. Олардың барлығы сіз үлкен дерекқор манипулятордың өз алгоритмдері пайдалануға мүмкіндік беретін, сақталатын процедуралар жасау және іске қосу үшін арналған. Бұл қажет болып табылады және осындай ақпаратты басқаруды жүзеге асыратындар, сондықтан, белгілі бір деректер құру, өзгерту немесе жою рұқсатсыз үшінші тараптардың барлық нысандарды қорғау және қамтамасыз ету үшін.

өнімділік

Бұл дерекқор нысандары әр түрлі тәсілдермен бағдарламалауға болады. Бұл уақыт пен энергияны үнемдейді, ол пайдаланушылар ең қолайлы болар еді процесінің түрін таңдауға мүмкіндік береді. Сонымен қатар, процедурасының өзі осылайша сервері мен пайдаланушы арасындағы қарым-қатынас туралы жұмсалған үлкен уақыт болдырмай, өңделеді. модуль мүлдем кез келген уақытта дұрыс бағытта қайта орнату және өзгертуге болады. SQL ұшыру тәртібін сақталған болатын жылдамдығын атап Әсіресе кету орын: процесс, ол ыңғайлы және әмбебап қабылдау, оған ұқсас тезірек басқа болып табылады.

қауіпсіздік

ақпаратты өңдеу бұл түрі, ол жақсартылған қауіпсіздікті қамтамасыз бұл ұқсас процестерді ерекшеленеді. Бұл қатынау рәсімдерді беттен басқа пайдаланушылар толығымен жойылуы мүмкін, бұл шын мәнінде қамтамасыз етіледі. Бұл Әкімші ұстап немесе деректер базасына рұқсатсыз кіруден қорықпай, өз бетінше олармен операцияларды жүргізуге мүмкіндік береді.

деректер беру

Сақталған SQL тәртібі мен клиенті бағдарламаларында арасындағы байланыс параметрлерін және қайтару мәндерін пайдалану болып табылады. Соңғы рәсімін сақталатын деректерді беру қажет емес, бірақ (негізінен пайдаланушының өтініші бойынша) ақпарат және SQL үшін өңделген. Бірде рәсімі сақталатын өз жұмысын аяқтады (қажет болса, тағы да, бірақ), ол, мысалы, сақталған SQL тәртібі мен қайтару үшін қоңырау ретінде іске асырылуы мүмкін, ол арқылы түрлі әдістерді пайдалана отырып, шақырушы қосымшаға деректер пакеттері жібереді:

- деректерді беру Output параметр түрі арқылы;

- қайтару туралы есепте арқылы деректерді беру;

- тасымалдаушы таңдау арқылы деректерді беру.

Ал енді бұл процесс бірдей ішін көрінеді қалай қараймыз.

1. SQL тәртіппен Exec-сақталған жасау

Сіз MS SQL (Басқару Studio) рәсімін жасауға болады. рәсімі жасалғаннан кейін, ол рәсім құру операторы арқылы жүзеге асырылады, онда бағдарламаланатын дерекқордың түйінінің, тізімделеді. нысан атын асырайды Exec-процесс пайдаланып SQL сақталатын рәсімдерді орындау үшін.

атын жасау кезінде бірінші тәртібін келеді, содан кейін оған тағайындалған бір немесе бірнеше параметрлерін құрады. Параметрлер қосымша болуы мүмкін. параметр (лар) кейін, ол кейбір қажетті операцияларды жүзеге асыру үшін қажет, жазылады, рәсімнің денесін яғни.

денесі оған орналасқан жергілікті айнымалылар, болуы мүмкін, және осы айнымалылар жергілікті және рәсімдерге қатысты фактісі. Басқаша айтқанда, олар тек дене емдеу аясында қарастыруға болады Microsoft SQL Server. Бұл жағдайда сақталған процедуралар жергілікті қарастырылады.

Осылайша, процесс жасау үшін, біз рәсімі атауы мен тәртібі орган ретінде кем дегенде бір параметр қажет. Бұл жағдайда тамаша опция жіктеуіші схема атауы бар рәсімдерді құру және жүзеге асыру болып табылады екенін ескеріңіз.

рәсімі дене, мысалы, осындай т.б., бұл кестені жасау кестенің бір немесе бірнеше жолдарды кірістіру, дерекқор түрін және сипатын белгілеу, сондай-ақ, операторлар SQL кез келген түрін болуы мүмкін. Дегенмен, рәсім орган оған кейбір операцияларды шектейді. ең маңызды шектеулер Кейбір төменде көрсетілген:

- дене кез келген басқа сақталатын процедураны жасамайды;

- дене объектісі туралы жалған әсер жасау тиіс емес;

- дене туындаған кез-келген жасамайды.

2. тәртібін дене айнымалыны орнату

Сіз органның рәсіміне айнымалылар жергілікті жасай аласыз, содан кейін олар рәсімі дене шегінде болады. Жақсы тәжірибе рәсімі сақталатын органның басында айнымалы жасау болып табылады. Бірақ сіз, сондай-ақ объектінің органға кез келген жерде айнымалылар орнатуға болады.

Кейде сіз кейбір айнымалылар сол жолда орнатылған, және әрбір айнымалы үтірмен бөлінген байқауыңыз мүмкін. Сондай-ақ, айнымалы @ префикс айтады. рәсімін денеде, қалаған үшін айнымалыны орната аласыз. Мысалы, NAME1 @ айнымалы тәртібі органның соңына қарай жариялады болады. айнымалы мәнді тағайындау үшін жеке деректер жиынтығын пайдаланып жариялады. біреуден артық айнымалы сол жолда жариялады жағдайды, осы жағдайды пайдаланылатын дербес деректердің бір жинағын ғана айырмашылығы.

Пайдаланушылар жиі Сұрақ: «рәсімін денесінде бір есепте бірнеше тағайындай қалай жақсы?. Қызықты сұрақ, бірақ бұл сіз ойлағаннан әлдеқайда әлдеқайда оңай. Жауап: «таңдаңыз Var = құны» сияқты жұп көмегімен. Үтірлермен бөлінген осы жұп, пайдалануға болады.

3. SQL сақталатын процедураны жасау

адамдардың мысалдар түрлі қарапайым сақталатын процедураны жасау көрсету және оны орындау. Алайда, рәсім Шақырудың үдерісі ол (әрқашан емес,) оған жақын мәнді болады, мысалы, параметрлерді кетуі мүмкін. олар сәйкес болса, онда дененің ішінде тиісті процестерді бастайды. Мысалы, сіз қоңырау шалушының қаланы және аймақты алып, авторлар тиісті қала және облыс қараңыз қанша туралы деректерді қайтаруға болады тәртібін жасау, егер. тәртібі осы есептеу авторларды орындау үшін, мысалы, үйлердегі авторлардың Дерекқор кестесін сұратуға болады. Осы деректер базасын алу үшін, мысалы, Google SQL2005 бетінде бар SQL сценарий жүктейді.

Алдыңғы мысалда, рәсім ағылшын тілінде шартты @State және @City деп аталатын болады екі параметрлерін, қабылдайды. деректер түрі өтініште көрсетілген түріне сәйкес келеді. тәртібі орган ішкі айнымалылар @TotalAuthors (барлық авторлар) бар, және осы айнымалы олардың санын көрсету үшін пайдаланылады. Келесі барлық санақ бөлімі таңдау сұрау келеді. Соңында, есептелген мәні баспа мәлімдеме пайдаланып шығыс терезесінде көрсетіледі.

а SQL сақталатын процедураны орындаңыз қалай

процедурасын орындау үшін екі жолы бар. Бірінші жолы үтірмен бөлінген тізімі рәсімі атындағы жасалады параметрлерді өтетін арқылы көрсетіледі. біз (алдыңғы мысалдағыдай) екі мәндері бар делік. Бұл құндылықтар мен айнымалыларды @State @City рәсімін пайдалана жиналады. Бұл әдіс, беру тәртібін маңызды параметрлері. Бұл әдіс аргументтердің беру тізбегі деп аталады. Екінші әдіс, параметрлері өзінде реті маңызды емес болып табылатын жағдайда, тікелей тағайындалады. Бұл екінші әдіс атындағы дәлел беру ретінде белгілі.

процедура сәл әдеттегі ерекшеленуі мүмкін. Барлық алдыңғы мысалдағыдай, сол, бірақ параметрлерін ғана мұнда сырғыған. Яғни @City параметр болып табылады бірінші сақталған, және @State келесі әдепкі мәніне сақталады. Әдепкі параметр әдетте жеке бөлінеді. SQL сақталатын процедуралар сияқты қарапайым көрсеткіштер болып табылады. Бұл жағдайда, параметр CA «» UT «әдепкі мәні ауыстырады» беріледі. Екінші нұсқада «CA» үшін тек бір @City үшін дәлел мәні, және @State опция әдепкі параметрлерді өтеді. Тәжірибелі бағдарламашылар барлық әдепкі параметрлерін тізімінде айнымалылар соңына жақын орналасқан, бұл кеңес беріледі. орындау мүмкін емес Әйтпесе, онда сіз ұзақ және аса күрделі атындағы дәлел беру жұмыс істеу керек.

4. Сақталатын процедуралар SQL Server: қайтару жолдары

деп аталатын тәртіппен сақталған деректерді жіберу үшін үш негізгі жолы бар. Олар төменде көрсетілген:

- қайтару құндылықтар тәртібін сақталады;

- Шығыс параметр сақталған процедуралар;

- сақталатын процедуралардың бірін таңдаңыз.

SQL сақталатын рәсімдерді 4.1 қайтару мәндері

Бұл іс рәсімінде, рәсім жергілікті айнымалы мәні қояды және оны қайтарады. рәсімі, сондай-ақ тікелей тұрақты мәнді қайтаруға болады. Келесі мысалда, біз демеушілер жалпы санын қайтарады рәсімін құрдық. біз өткен рәсімге осы салыстырсақ, басып шығару құны кері ауыстырылады деп көруге болады.

Енді оны қайтару, қызметінің тәртібін орындауға және мәні көрсету үшін қарастырамыз. процесінің кейін жүзеге асырылады құру қажет процедуралар мен айнымалы басып шығаруды, орындау. орнына оператор басып шығару, мысалы, Select-оператор пайдалану @RetValue таңдаңыз, және OutputValue болады хабарлама.

4.2 Шығару Параметр SQL сақталатын процедуралар

жауап мән біз алдыңғы мысалда көрген бір айнымалыны қайтару үшін пайдаланылуы мүмкін. Output пайдалану тәртібі қоңырау тарапқа бір немесе бірнеше айнымалылар жіберуге мүмкіндік береді. тәртібін құру кезінде шығыс параметрі уақыт осы кілт сөзді «Шығысы» белгіленеді. параметр шығу параметрі ретінде көрсетілген болса, рәсім нысан оны мәні тағайындауыңыз керек. рәсімдер SQL сақталады, мысалдар соңғы ақпарат қайтып мұндай жағдайда, төменде көруге болады.

@TotalAuthors және @TotalNoContract: Бұл мысалда, екі демалыс атауы болады. Олар параметр тізімінде көрсетілген. Бұл айнымалылар рәсімі дене шегінде мәндер беріледі. біз шығару параметрлерін пайдаланған кезде, қоңырау шалушы рәсім органға орнатылған мәнді көре аласыз.

Сонымен қатар, алдыңғы сценарий, екі айнымалылар шығыс параметрі ретінде сақталатын процедуралар, MS SQL Server орнатылған мәндерін көру үшін жарияланды. Содан кейін процедура қалыпты мәні «CA» параметр қолдану арқылы жүзеге асырылады. Келесі параметрлер шығару болып табылады, сондықтан, айнымалылар белгіленген тәртіппен беріледі жариялады. айнымалы шығару кілт сөз, сондай-ақ мұнда көрсетілген кезде екенін ескеріңіз. рәсімі сәтті аяқталғаннан кейін, шығыс параметрлерін пайдалану арқылы қайтарылған мән хабарлама терезесінде көрсетіледі.

4.3 SQL сақталатын рәсімдерді таңдау

Бұл әдіс сақталатын процедуралар қоңырау нысаны кестеде деректер мәндерінің (жазбалар) Орнатылған қайтару үшін қолданылады. Бұл мысалда, SQL бұл параметр @AuthId қайтарылған жазбаларды сүзу арқылы үстел «авторлар» сұрайды @AuthID параметрлерімен тәртібін сақталады. Таңдаңыз оператор сақта- рәсім қоңырау қайтарылуы тиіс, қандай шешім қабылдайды. Кезде рәсімі сақталатын кері берілетін AuthId. Мұндай рәсім тек бір жазба немесе мүлдем бірде-бір қайтарады әрқашан. Алайда, рәсімі сақталатын астам бір енген қайтару бойынша қандай да бір шектеулер жоқ. Жиі мысалдар қайтару деректер есептік айнымалылар параметрлерді пайдаланып таңдалған онда табуға болады жалпы мәндер көптеген қамтамасыз ету арқылы жүзеге асырылады.

Қорытындылай келе

А рәсімі сақталатын өте маңызды бағдарлама, қайтарылған немесе аударылған, сондай-ақ клиенттік бағдарламаға байланысты қажетті айнымалылар құру болып табылады. сақталған іс рәсімі ең серверде орындалады бастап, (кейбір есептеулер үшін) сервер мен клиент қолдану арасындағы үлкен көлемде деректер алмасу болдырмауға болады. Бұл, әрине, олардың иелерінің қолы, SQL Server, жүктемені азайтуға мүмкіндік береді. кіші бірі рәсімдерді T SQL сақталады, бірақ олардың зерттеу әсерлі деректер базасын құруға қатысатын адамдарға қажет. сақталатын рәсімдерді зерттеу пайдалы болуы мүмкін енгізуі үлкен, тіпті үлкен сома кәсіби қоса алғанда, қатаң бағдарламалау, не істеу жоспарлап кім үшін осы қажеттілік, алайда, сондай-ақ бар.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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