Знайте, Intuit, лекция, съхранени процедури

Съхранени процедури в MS SQL Server среда

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







Видове съхранени процедури

В SQL Server, има няколко типа съхранени процедури.

  • Системни съхранени процедури са проектирани да изпълняват различни административни действия. Почти всички аспекти на сървъра администрация се извършва с тях. Може да се каже, че системата съхранени процедури са интерфейс за работа с таблици на системата, което в крайна сметка се свеждат до промените, добавяне, изтриване и извличане на данни от таблиците за системата като потребител и системни бази данни. Системни запомнени процедури се sp_ префикс. съхранявани в базата данни на системата и може да се нарече в контекста на всяка друга база данни.
  • Персонализирана съхранени процедури за изпълнение на определени действия. Съхранени процедури - пълна база данни за обекта. В резултат на това всяка съхранена процедура се намира в специална база данни, в която тя се извършва.
  • съществуват Временни съхранени процедури само за известно време, и след това автоматично изтрити от сървъра. Те са разделени на местно и глобално. Местните временни съхранени процедури могат да се задействат само от съединението, в което е създаден. Когато създавате процедура, е необходимо да се даде име, което започва с # характер. Подобно на всички временни обекти, съхранени процедури от този тип се изтриват автоматично при влизане в системата на разстояние, рестартиране, или да спрете сървъра. Глобалното време съхранени процедури са на разположение за всяко от съединенията на сървъра, на който има същата процедура. За да го определят достатъчно, за да му се даде име, което започва с героите ##. Премахнато тези процедури, когато се рестартира или спират на сървъра, както и при затваряне на връзката, в контекста на която са създадени.

Създаване, редактиране и изтриване на съхранени процедури

Създаване на запомнена процедура включва следните задачи:

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






Създаване на нови и изменението на съществуващите съхранена процедура, като използвате следната команда:

Помислете за възможностите на тази команда.

С помощта на префикс sp_. #. ##. позира процедура може да се определи като система или временно. Както може да се види от синтаксиса на командата не е позволено да се уточни името на собственика, който ще принадлежи на създадената процедура, както и името на базата данни, където той трябва да бъде поставен. По този начин, за да побере съхранената процедура в специална база данни, трябва да се изпълни Създаване ПРОЦЕДУРА в контекста на базата данни. При достъп до тялото на съхранена процедура на предмета на същата база данни, можете да използвате кратки имена, т. Д., без да уточняват име на базата данни. Когато искате да се отнасят до обекти в други бази данни, като се посочва името на базата данни е задължително.

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

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

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

Наличието на Мрежа изхода показва, че съответния параметър се използва за връщане на данни от съхранена процедура. Все пак, това не означава, че не е подходяща за предаване на стойности на съхранена процедура. Забележка OUTPUT дума указва на сървъра, когато излизате от съхранена процедура за присвояване на текущата стойност на локална променлива, която бе посочено, когато се обаждате процедура, както е на стойност на параметър. Имайте предвид, че когато се указва стойността на продукцията, ключовата дума на съответния параметър в процедура поканата може да се настрои само чрез локална променлива. Нямате право да използвате всякакви изрази или константи, валидни само за обичайните параметри.

Различна дума се използва във връзка с параметър на изхода. като тип стрелка. Тя уточнява, че изходният параметър е резултат настроен.

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

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

За повторяемост опция настоя за репликация на данни и дава възможност за създаване на съхранени процедури в статия в изданието.

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

Премахване на съхранената процедура се извършва с помощта на: