Слайд 2
![Процедуры и функции Пакет (batch) Подпрограмма (routine) Процедура Функция Системные Пользовательские](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-1.jpg)
Процедуры и функции
Пакет (batch)
Подпрограмма (routine)
Процедура
Функция
Системные
Пользовательские
Слайд 3
![Пакет Пакет — это последовательность инструкций, которые отправляются системе базы](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-2.jpg)
Пакет
Пакет — это последовательность инструкций, которые отправляются системе базы данных для
совместного их выполнения
Преимущество – одновременное исполнение всех инструкций позволяет получить улучшение производительности
Слайд 4
![Пакет Ограничение на единственную инструкцию: CREATE VIEW CREATE PROCEDURE CREATE TRIGGER](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-3.jpg)
Пакет
Ограничение на единственную инструкцию:
CREATE VIEW
CREATE PROCEDURE
CREATE TRIGGER
Слайд 5
![Хранимые процедуры Хранимая процедура – объект базы данных Хранимая процедура](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-4.jpg)
Хранимые процедуры
Хранимая процедура – объект базы данных
Хранимая процедура – поименованный
блок (BEGIN…END) операторов, хранящийся в базе данных в откомпилированном виде
Слайд 6
![Хранимые процедуры](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-5.jpg)
Слайд 7
![Хранимые процедуры Принимает входные параметры Принимаете и формирует выходные параметры](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-6.jpg)
Хранимые процедуры
Принимает входные параметры
Принимаете и формирует выходные параметры
Слайд 8
![Хранимые процедуры Целочисленное значение, возвращаемое к точке вызова с помощью](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-7.jpg)
Хранимые процедуры
Целочисленное значение, возвращаемое к точке вызова с помощью оператора RETURN
Один
или более результирующих наборов, сформированных операторами SELECT
Содержимое стандартного выходного потока, полученного при выполнении операторов PRINT
Слайд 9
![Хранимые процедуры Результирующий набор хранимой процедуры может быть использован в качестве источника строк для INSERT](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-8.jpg)
Хранимые процедуры
Результирующий набор хранимой процедуры может быть использован в качестве источника
строк для INSERT
Слайд 10
![Хранимые процедуры Допускается применение : Основных DDL, DML и TCL-операторов Конструкций TRY/CATCH Курсоров Временных таблиц](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-9.jpg)
Хранимые процедуры
Допускается применение :
Основных DDL, DML и TCL-операторов
Конструкций TRY/CATCH
Курсоров
Временных таблиц
Слайд 11
![Хранимые процедуры Не допускается применение : CREATE or ALTER FUNCTION](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-10.jpg)
Хранимые процедуры
Не допускается применение :
CREATE or ALTER FUNCTION
CREATE or ALTER TRIGGER
CREATE
or ALTER PROCEDURE
CREATE or ALTER VIEW
USE databasename
Слайд 12
![Хранимые процедуры](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-11.jpg)
Слайд 13
![Хранимые процедуры](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-12.jpg)
Слайд 14
![Хранимые процедуры](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-13.jpg)
Слайд 15
![Хранимые процедуры](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-14.jpg)
Слайд 16
![Хранимые процедуры Возможен только числовой код возврата](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-15.jpg)
Хранимые процедуры
Возможен только числовой код возврата
Слайд 17
![Хранимые процедуры](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-16.jpg)
Слайд 18
![ROW_NUMBER() OVER](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-17.jpg)
Слайд 19
![ROW_NUMBER() OVER](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-18.jpg)
Слайд 20
![WITH](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-19.jpg)
Слайд 21
![Передача параметров](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-20.jpg)
Слайд 22
![Передача параметров](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-21.jpg)
Слайд 23
![Передача параметров](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-22.jpg)
Слайд 24
![Хранимые процедуры](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-23.jpg)
Слайд 25
![Хранимые процедуры ALTER PROCEDURE DROP PROCEDURE sp_rename](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-24.jpg)
Хранимые процедуры
ALTER PROCEDURE
DROP PROCEDURE
sp_rename
Слайд 26
![Хранимые процедуры](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-25.jpg)
Слайд 27
![Хранимые процедуры](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-26.jpg)
Слайд 28
![Динамичесий SQL sp_executesql DECLARE @sqlcode AS NVARCHAR(256) = N' ';](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-27.jpg)
Динамичесий SQL
sp_executesql
DECLARE @sqlcode AS NVARCHAR(256) = N'';
EXEC sys.sp_executesql @statement = @sqlcode;
DECLARE
@sqlcode AS NVARCHAR(256) =
N'SELECT GETDATE() AS dt';
EXEC sys.sp_executesql @statement = @sqlcode;
Слайд 29
![Функции Встроенные Математические Строковые Работа с датами Пользовательские](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-28.jpg)
Функции
Встроенные
Математические
Строковые
Работа с датами
Пользовательские
Слайд 30
![Функции Не допускается применение: DDL-операторов DML-операторов изменяющих данные (INSERT, DELETE, UPDATE) конструкций TRY/CATCH транзакций](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-29.jpg)
Функции
Не допускается применение:
DDL-операторов
DML-операторов изменяющих данные (INSERT, DELETE, UPDATE)
конструкций TRY/CATCH
транзакций
Слайд 31
![Функции Скалярные Inline Multi-Statement](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-30.jpg)
Функции
Скалярные
Inline
Multi-Statement
Слайд 32
![Функции](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-31.jpg)
Слайд 33
![Функции Скалярные возвращает одно значение нельзя timestamp, cursor, text, ntext, image, table](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-32.jpg)
Функции
Скалярные
возвращает одно значение
нельзя timestamp, cursor, text, ntext, image, table
Слайд 34
![Хранимые процедуры](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-33.jpg)
Слайд 35
![Функции Inline одна команда SELECT возврат table](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-34.jpg)
Функции
Inline
одна команда SELECT
возврат table
Слайд 36
![Функции](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-35.jpg)
Слайд 37
![Функции](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-36.jpg)
Слайд 38
![Функции](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-37.jpg)
Слайд 39
![Функции](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-38.jpg)
Слайд 40
![Функции Multi-Statement возвращает table несколько команд](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-39.jpg)
Функции
Multi-Statement
возвращает table
несколько команд
Слайд 41
![Функции](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-40.jpg)
Слайд 42
![](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-41.jpg)
Слайд 43
![Функции](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-42.jpg)
Слайд 44
![Хранимые процедуры DROP FUCTION ALTER FUNCTION](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/88323/slide-43.jpg)
Хранимые процедуры
DROP FUCTION
ALTER FUNCTION