КомпютриДанни на Guide-Bulgaria.com

SQL съхранени процедури: създаване и използване

SQL съхранени процедури са изпълними софтуерен модул, който може да се съхранява в базата данни под формата на различни обекти. С други думи, това е обект, който съдържа SQL-декларация. Тези съхранени процедури могат да бъдат изпълнени в клиентското приложение, за да получите добри резултати. В допълнение, тези съоръжения често се наричат от други скриптове или дори от друг раздел.

въведение

Много хора вярват, че те са сходни с процедурите на различните програмни езици на високо ниво (съответно, с изключение на MS SQL). Може би това е вярно. Те имат сходни параметри, те могат да издаде подобна стойност. Освен това, в някои случаи, те влизат в контакт. Например, те са комбинирани с бази данни на DDL и DML данните, както и потребителски функции (кодово име - UDF).

Всъщност съхраняват SQL процедури имат редица предимства, които ги отличават между тези процеси. Безопасност, променливост на производителността програмиране - всичко това привлича потребители, работещи с бази данни, все повече и повече. На върха на популярността дойде процедури за годините 2005-2010, когато се прибрах в програмата от "Майкрософт", под името "SQL сървър за управление Studio». С негова помощ, работа с бази данни е станал много по-лесно, по-практично и по-удобен. Година след година, този метод за предаване на информация, печели популярност в средата на програмния период. Днес, MS SQL Server е абсолютно обикновена програма, която потребителите могат да "общуват" с бази данни, застана на едно ниво с "Excel".

Когато се обадите на процедурата, тя веднага се обработват от сървъра, без ненужни процеси и намеса на потребителя. След това можете да извършвате всякакви действия с информацията: изтриване, изпълнение, промяна. Над всичко това е в DDL-оператор, който еднолично изпълняват сложни действия на тези обекти. И всичко това се случва много бързо, и сървърът не е натоварено. Тази скорост и производителност ви позволи да бързо да се прехвърля на големи количества информация от потребителя до сървъра и обратно на.

За изпълнение на тази работа с информацията, има няколко програмни езици технологии. Те включват, например, PL / SQL от системата за управление на база данни Oracle, PSQL в InterBase и Firebird системи, както и класиката "maykrosoftovskih» Transact-SQL. Всички от тях са предназначени за създаване и изпълнение на съхранени процедури, което ви позволява да използвате свои собствени алгоритми за големи манипулатори на бази данни. Необходимо е и да се гарантира, че тези, които осъществяват управление на такава информация, може да защити всички обекти от неупълномощени трети страни, а следователно и по създаването, изменение или заличаване на определени данни.

продуктивност

Тези обекти на базата данни могат да бъдат програмирани по различни начини. Това позволява на потребителите да избират вида на процес, който ще бъде най-подходящ, което спестява време и енергия. В допълнение, самата процедура се обработва, като по този начин се избягва огромен времето, прекарано на комуникация между сървъра и потребителя. Модулът може да бъде препрограмиран и да се промени в правилната посока, в абсолютно всяко време. Особено впечатление, скоростта, с която пускането на SQL съхранени процедури се случва: процесът е по-бързо, други подобни на него, което го прави удобен и многофункционален.

безопасност

Този тип обработка на информация се различава от подобни процеси в това, че осигурява повишена сигурност. Това се осигурява от факта, че други потребители до процедури може да се елиминира изцяло. Това ще позволи на администратора да извършва операции с тях независимо, без страх от подслушване или неоторизиран достъп до базата данни.

трансфер на данни

Комуникацията между запомнена процедура SQL и клиентското приложение е да се използват параметрите и да се върнете ценности. Последният не е необходимо да се предоставят данните, за да съхраняват процедура, но информацията (най-вече по заявка на потребителя) и обработва за SQL. Веднъж запомнена процедура е приключила своята работа, тя изпраща на пакетите с данни обратно (но, отново, ако е необходимо) на викащия приложението с помощта на различни методи, чрез които могат да бъдат приложени като призив за съхранени процедури и връщане SQL, например:

- предаване на данни чрез тип параметър изход;

- предаване на данни чрез отчета за връщане;

- Предаване на данни чрез избор.

А сега погледнете как този процес изглежда по същия отвътре.

1. Създайте EXEC-съхраняват в процедурата по SQL

Можете да създадете процедура в MS SQL (Managment Studio). След се създава процедурата, са изброени на програмируем възел база данни, в който процедурата се извършва от оператора на създаване. За да изпълни SQL съхранени процедури, използвайки EXEC-процес, който съдържа името на обекта.

При създаването на името е на първо място процедура, а след това направи един или повече параметри, които са му възложени. Параметрите могат да бъдат задължителни. След параметъра (и), т.е. тялото на процедурата, за да се впише, че е необходимо да се извършат някои необходими операции.

Фактът, че тялото може да има локални променливи, намиращи се в нея, и тези променливи са локални и по отношение на процедурите. С други думи, те могат да се разглеждат само в рамките на лечение на тялото Microsoft SQL Server. Съхранени процедури в този случай се считат за местни.

По този начин, за да се създаде процес, ние се нуждаем име процедура и най-малко един параметър като орган процедура. Моля, имайте предвид, че една отлична възможност в този случай е създаването и изпълнението на процедури с името на схемата, в класификатора.

Тялото на процедура може да има всякакъв вид оператори SQL, например, като например създаването на една маса, да поставите един или повече редове от таблицата, за създаване на база данни тип и характер, и така нататък. Независимо от това, тялото процедура ограничава някои операции в него. Някои от най-важните ограничения, са изброени по-долу:

- тялото не създава всяка друга съхранена процедура;

- тялото не трябва да създава невярна представа за обекта;

- тялото не създава задейства.

2. Определете променливата в тялото на процедурата

Можете да направите променливи местно процедурата на тялото, а след това те ще бъдат в рамките на тялото процедура. Добра практика е да се създаде променлива в началото на съхранената процедура тялото. Но можете да зададете и променливи навсякъде в тялото на обекта.

Понякога може да забележите, че някои променливи са разположени в един и същи ред, както и всяка променлива, разделени със запетая. Също така имайте предвид, че променливата е с префикс @. В тялото на процедурата, можете да зададете променлива, към който искате. Например, може да се съобщи променлива @ NAME1 към края на тялото на процедура. С цел да се придаде стойност на променлива декларирана с помощта на набор от лични данни. За разлика от ситуацията, когато повече от една променлива, декларирана в един и същи ред, само един набор от лични данни, използвана в тази ситуация.

Потребителите често задават въпроса: "Как да се множество стойности в един израз в тялото на процедурата" Е?. Интересен въпрос, но това е много по-лесно, отколкото си мислите. Отговорът: с помощта на такива двойки като «Избор на Var = стойност". Можете да използвате тези двойки, разделени със запетаи.

3. Създаване на SQL съхранена процедура

В голямо разнообразие от примери на хора, показват, създаването на опростена процедура се съхранява и да го изпълни. Процедурата обаче може да предприеме такива параметри, че процесът на разговори ще имат стойност близо до него (но не винаги). Ако те съвпадат, а след това започва съответните процеси в тялото. Например, ако създадете процедура, която ще отнеме града и региона от обаждащия се и да се върнете данните за това колко авторите се отнасят до съответното града и региона. Процедурата ще подава заявка таблица на база данни на автори, например, кръчми, за извършване на изчисленията автори. За получаване на тези бази данни, например, Google изтегля SQL скрипт с SQL2005 страница.

В предишния пример, процедурата отнема два параметъра, които на английски език ще бъдат наречени условно @State и @City. Типът данни съответства на типа, посочен в заявлението. Тялото на процедура има вътрешни променливи @TotalAuthors (всички автори), и тази променлива се използва за показване на техния брой. След това идва заявка за раздел селекция, че всички обвинения. И накрая, изчислената стойност се показва в прозореца за изход чрез отчета за печат.

Как да се изпълнява SQL съхраняват процедура

Има два начина за извършване на процедурата. Първият начин е показано чрез преминаване параметри като списък с разделени със запетая се извършва след името на процедурата. Да предположим, че имаме две стойности (както в предишния пример). Тези стойности са събрани чрез променливи и процедура @State @City. При този метод, важни параметри на поръчката за предаване. Този метод се нарича предаване последователност от аргументи. При втория метод, параметрите са вече предназначени директно, при което редът не е важно. Този втори метод е известен като предаването на именувани аргументи.

Процедурата може леко да се отклонява от типичното. Всички едно и също, както в предишния пример, но параметрите са прехвърлени тук само. Това е параметър @City се съхранява на първо място, и @State съхранява до стойността по подразбиране. Настройката по подразбиране е обикновено разпределят отделно. SQL съхранени процедури са толкова прости параметри. В този случай, при условие, че опцията "терминал" замества стойността по подразбиране на "Калифорния". Във второ изпълнение преминава само един аргумент стойност за @City и @State опция подразбиране "СА". Опитните програмисти са посъветвани, че всички променливи по подразбиране са разположени по-близо до края на списъка с параметри. В противен случай, изпълнението не е възможно, тогава ще трябва да се работи с прехвърлянето на именувани аргументи, че по-дълго и по-сложно.

4. съхранени процедури SQL Server: начини за връщане

Има три основни начина за изпращане на данните, съхранявани в наречената процедура. Те са изброени по-долу:

- стойности за връщане на запомнената процедура;

- параметри на изхода съхранени процедури;

- Изберете една от съхранените процедури.

4.1 ценности завръщането на SQL съхранени процедури

При тази процедура, процедурата определя стойността на локалната променлива и го връща. Процедурата може също директно се върне постоянна стойност. В следващия пример, ние сме създали една процедура, която се връща от общия брой на спонсори. Ако сравним това с предходната процедура, можете да видите, че стойността на печат се заменя със обратното.

Сега нека да разгледаме как се извършва процедурата и ще покаже стойността, го върне. Извършване на процедури, необходими за създаване и печат на променлива, която се извършва след процеса. Забележете, че вместо да печатате операторът може да използва Select-оператор, например, Изберете @RetValue и OutputValue.

4.2 изход параметър SQL съхранени процедури

Стойността на отговор може да се използва за да се върнете една променлива, която видяхме в предишния пример. Използване на изход позволява процедурата за изпращане на един или повече променливи, за да се обадите на партията. параметър изход е обозначена като път тази ключова дума «изход» при създаване на процедура. Ако параметърът е посочен като изходен параметър, обектът процедура трябва да го зададете стойност. Съхранени процедури SQL, примери за които може да се види по-долу, в такъв случай връщането на крайния информация.

В този пример, ще има два уикенда име: @TotalAuthors и @TotalNoContract. Те са посочени в списъка с параметри. Тези променливи се задават стойности, в рамките на тялото на процедура. Когато използваме изходните параметри, на обаждащия се да видите стойността, определена в тялото на процедура.

В допълнение, в предишния сценарий, две променливи са обявени, за да видите стойностите, които са инсталирани съхранени процедури, MS SQL Server като изходен параметър. След това процедурата се осъществява чрез прилагане на нормалната стойност «Калифорния» параметър. Следните параметри се извеждат и, следователно, декларирани променливи са преминали по съответния начин. Моля, имайте предвид, че когато една променлива изходна дума също е посочено тук. След процедурата е приключила успешно, стойността се връща с помощта на изходните параметри са показани в прозореца на съобщението.

4.3 Избор на SQL съхранени процедури

Тази техника се използва за връщане на набор от стойности на данни в табличен вид (Recordset) за свикване на запомнена процедура. В този пример, SQL процедура съхраняват с параметри @AuthID искания маса "автори" чрез филтриране на записите, върнати от този параметър @AuthId. Изберете оператор реши какво трябва да бъде върнат на званието запомнена процедура. Когато запомнена процедура AUTHID предава обратно. Подобна процедура е винаги връща само един запис или никаква. Въпреки това, съхранена процедура няма никакви ограничения по отношение на връщането на повече от един запис. Често примери могат да бъдат намерени в които данните за връщане избрани използване на параметри с изчислените променливи се осъществява чрез осигуряване на множество от общите стойности.

В заключение

Запомнена процедура е доста сериозна програма, върнати или прехвърлени, както и за създаване на необходимите променливи поради заявката на клиента. Тъй като съхранената процедура се извършва на самия сървър, за обмен на данни в големи количества между сървъра и приложението на клиента (за някои изчисления) могат да бъдат избегнати. Това дава възможност да се намали натоварването на SQL сървъра, което, разбира се, е ръката на техните притежатели. Един от подвидовете са съхранени процедури T SQL, но е необходимо тяхното проучване, за да тези, които участват в създаването на впечатляваща база данни. Налице е също така голям, дори и огромно количество нюанси, които могат да бъдат полезни в изследването на съхранени процедури, обаче, тази нужда за тези, които са на път да го стегнат програмиране, включително професионално.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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