🗊 Презентация Процедуры

Категория: Информатика
Нажмите для полного просмотра!
Процедуры, слайд №1 Процедуры, слайд №2 Процедуры, слайд №3 Процедуры, слайд №4 Процедуры, слайд №5 Процедуры, слайд №6 Процедуры, слайд №7 Процедуры, слайд №8 Процедуры, слайд №9 Процедуры, слайд №10 Процедуры, слайд №11 Процедуры, слайд №12 Процедуры, слайд №13 Процедуры, слайд №14 Процедуры, слайд №15 Процедуры, слайд №16 Процедуры, слайд №17 Процедуры, слайд №18 Процедуры, слайд №19 Процедуры, слайд №20 Процедуры, слайд №21 Процедуры, слайд №22 Процедуры, слайд №23 Процедуры, слайд №24 Процедуры, слайд №25 Процедуры, слайд №26 Процедуры, слайд №27 Процедуры, слайд №28 Процедуры, слайд №29 Процедуры, слайд №30 Процедуры, слайд №31 Процедуры, слайд №32 Процедуры, слайд №33 Процедуры, слайд №34 Процедуры, слайд №35 Процедуры, слайд №36 Процедуры, слайд №37 Процедуры, слайд №38 Процедуры, слайд №39 Процедуры, слайд №40 Процедуры, слайд №41 Процедуры, слайд №42 Процедуры, слайд №43 Процедуры, слайд №44 Процедуры, слайд №45 Процедуры, слайд №46 Процедуры, слайд №47 Процедуры, слайд №48 Процедуры, слайд №49 Процедуры, слайд №50 Процедуры, слайд №51 Процедуры, слайд №52 Процедуры, слайд №53 Процедуры, слайд №54 Процедуры, слайд №55 Процедуры, слайд №56 Процедуры, слайд №57 Процедуры, слайд №58

Содержание

Вы можете ознакомиться и скачать презентацию на тему Процедуры. Доклад-сообщение содержит 58 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Процедуры
Описание слайда:
Процедуры

Слайд 2


Для реализации логики приложения на стороне базы данных Создание хранимых процедур и функций Создание триггеров
Описание слайда:
Для реализации логики приложения на стороне базы данных Создание хранимых процедур и функций Создание триггеров

Слайд 3


Процедуры Хранимая процедура – это набор операторов T-SQL, который компилируется системой SQL Server в единый "план исполнения".
Описание слайда:
Процедуры Хранимая процедура – это набор операторов T-SQL, который компилируется системой SQL Server в единый "план исполнения".

Слайд 4


Переменные Имя переменной начинается со знака @ DECLARE @a, @b, @c int DECLARE @a int, @b int, @c int DECLARE @a int = 5, @b int = 0, @c int
Описание слайда:
Переменные Имя переменной начинается со знака @ DECLARE @a, @b, @c int DECLARE @a int, @b int, @c int DECLARE @a int = 5, @b int = 0, @c int

Слайд 5


Типы данных, определяемые пользователем CREATE TYPE my_type FROM varchar(11) NOT NULL ; DECLARE @a my_type;
Описание слайда:
Типы данных, определяемые пользователем CREATE TYPE my_type FROM varchar(11) NOT NULL ; DECLARE @a my_type;

Слайд 6


Скалярные переменные DECLARE @var_name var_type, … SET @var_name = var_value; SELECT @var_name = var_value; SELECT @var_name; SELECT @var_name=id...
Описание слайда:
Скалярные переменные DECLARE @var_name var_type, … SET @var_name = var_value; SELECT @var_name = var_value; SELECT @var_name; SELECT @var_name=id FROM Table1; (последнее значение)

Слайд 7


Скалярные переменные DECLARE @var int; SET @var = 5; SELECT @var = 31; SELECT @var; SELECT @var=id FROM Table1; (последнее значение)
Описание слайда:
Скалярные переменные DECLARE @var int; SET @var = 5; SELECT @var = 31; SELECT @var; SELECT @var=id FROM Table1; (последнее значение)

Слайд 8


Скалярные переменные SELECT { @local_variable { = | += | -= | *= | /= | %= | &= | ^= | |= } expression } [ ,...n ] [ ; ] SELECT @id+ = 2;
Описание слайда:
Скалярные переменные SELECT { @local_variable { = | += | -= | *= | /= | %= | &= | ^= | |= } expression } [ ,...n ] [ ; ] SELECT @id+ = 2;

Слайд 9


Составной оператор присваивания += сложить и присвоить -= вычесть и присвоить *= умножить и присвоить /= разделить и присвоить %= получить остаток от...
Описание слайда:
Составной оператор присваивания += сложить и присвоить -= вычесть и присвоить *= умножить и присвоить /= разделить и присвоить %= получить остаток от деления и присвоить &= выполнить побитовое И и присвоить ^= выполнить побитовое исключающее ИЛИ и присвоить |= выполнить побитовое ИЛИ и присвоить

Слайд 10


SET vs SELECT SELECT @var=Field FROM T SET @var=(SELECT Field FROM T)
Описание слайда:
SET vs SELECT SELECT @var=Field FROM T SET @var=(SELECT Field FROM T)

Слайд 11


Табличные переменные CREATE TYPE Location AS TABLE ( LocationName VARCHAR(50) , CostRate INT ); DECLARE @table1 Location; DECLARE @table_var table(...
Описание слайда:
Табличные переменные CREATE TYPE Location AS TABLE ( LocationName VARCHAR(50) , CostRate INT ); DECLARE @table1 Location; DECLARE @table_var table( id int , name char(20));

Слайд 12


Табличные переменные SET @table_name = Table1; SELECT @table_name = var_value; SELECT @table_name;
Описание слайда:
Табличные переменные SET @table_name = Table1; SELECT @table_name = var_value; SELECT @table_name;

Слайд 13


Табличные переменные INSERT @table_name SELECT * FROM Table1; SELECT * FROM @table_name;
Описание слайда:
Табличные переменные INSERT @table_name SELECT * FROM Table1; SELECT * FROM @table_name;

Слайд 14


Использование псевдонима SELECT EmployeeID, DepartmentID FROM @MyTableVar m JOIN Employee on (m.EmployeeID =Employee.EmployeeID AND m.DepartmentID =...
Описание слайда:
Использование псевдонима SELECT EmployeeID, DepartmentID FROM @MyTableVar m JOIN Employee on (m.EmployeeID =Employee.EmployeeID AND m.DepartmentID = Employee.DepartmentID);

Слайд 15


Табличные переменные Автоматически очищаются в конце функции, хранимой процедуры или пакета, где они были определены Табличная переменная не...
Описание слайда:
Табличные переменные Автоматически очищаются в конце функции, хранимой процедуры или пакета, где они были определены Табличная переменная не участвует в транзакции. Не подходят для хранения значительных объёмов данных (>100 строк).

Слайд 16


Группировка BEGIN { sql_statement | statement_block } END;
Описание слайда:
Группировка BEGIN { sql_statement | statement_block } END;

Слайд 17


Условный оператор IF Boolean_expression { sql_statement | statement_block } [ ELSE { sql_statement | statement_block } ]
Описание слайда:
Условный оператор IF Boolean_expression { sql_statement | statement_block } [ ELSE { sql_statement | statement_block } ]

Слайд 18


Условный оператор IF (SELECT MAX(id) FROM Table)
Описание слайда:
Условный оператор IF (SELECT MAX(id) FROM Table)

Слайд 19


Оператор цикла WHILE Boolean_expression { sql_statement | statement_block | BREAK | CONTINUE } BREAK Приводит к выходу из ближайшего цикла WHILE....
Описание слайда:
Оператор цикла WHILE Boolean_expression { sql_statement | statement_block | BREAK | CONTINUE } BREAK Приводит к выходу из ближайшего цикла WHILE. CONTINUE Выполняет новый шаг цикла WHILE, не учитывая все команды, следующие после ключевого слова CONTINUE.

Слайд 20


Оператор цикла WHILE (SELECT AVG(Price) FROM Product) < $300 BEGIN UPDATE Product SET Price = Price * 2; IF (SELECT MAX(Price) FROM Product) > $500...
Описание слайда:
Оператор цикла WHILE (SELECT AVG(Price) FROM Product) < $300 BEGIN UPDATE Product SET Price = Price * 2; IF (SELECT MAX(Price) FROM Product) > $500 BREAK ELSE CONTINUE END PRINT 'Too much …';

Слайд 21


Обработка ошибок BEGIN TRY { sql_statement | statement_block } END TRY BEGIN CATCH [ { sql_statement | statement_block } ] END CATCH [ ; ]
Описание слайда:
Обработка ошибок BEGIN TRY { sql_statement | statement_block } END TRY BEGIN CATCH [ { sql_statement | statement_block } ] END CATCH [ ; ]

Слайд 22


Обработка ошибок BEGIN TRY SELECT 1/0; END TRY BEGIN CATCH SELECT 'На ноль делить нельзя!'; END CATCH;
Описание слайда:
Обработка ошибок BEGIN TRY SELECT 1/0; END TRY BEGIN CATCH SELECT 'На ноль делить нельзя!'; END CATCH;

Слайд 23


Процедуры CREATE PROC [ EDURE ] procedure_name [ { @parameter data_type } [ = default ] [ OUTPUT ] ] [ ,...n ] AS sql_statement
Описание слайда:
Процедуры CREATE PROC [ EDURE ] procedure_name [ { @parameter data_type } [ = default ] [ OUTPUT ] ] [ ,...n ] AS sql_statement

Слайд 24


Создание простой процедуры CREATE PROCEDURE SimpleProc AS UPDATE students SET salary=salary*1.5;
Описание слайда:
Создание простой процедуры CREATE PROCEDURE SimpleProc AS UPDATE students SET salary=salary*1.5;

Слайд 25


Изменение простой процедуры ALTER PROCEDURE SimpleProc AS UPDATE students SET salary=salary*1.7;
Описание слайда:
Изменение простой процедуры ALTER PROCEDURE SimpleProc AS UPDATE students SET salary=salary*1.7;

Слайд 26


Создание процедуры с удалением IF OBJECT_ID (' SimpleProc ') IS NOT NULL DROP PROCEDURE SimpleProc; CREATE PROCEDURE SimpleProc AS UPDATE students...
Описание слайда:
Создание процедуры с удалением IF OBJECT_ID (' SimpleProc ') IS NOT NULL DROP PROCEDURE SimpleProc; CREATE PROCEDURE SimpleProc AS UPDATE students SET salary=salary*1.5;

Слайд 27


Процедуры: несколько действий CREATE PROCEDURE ExampleProc AS BEGIN DECLARE @default_salary INT SET @default_salary = (SELECT …) END
Описание слайда:
Процедуры: несколько действий CREATE PROCEDURE ExampleProc AS BEGIN DECLARE @default_salary INT SET @default_salary = (SELECT …) END

Слайд 28


Создание процедуры с параметрами CREATE PROCEDURE ExampleProc ( @id INT, @name VARCHAR(32) ) AS BEGIN DECLARE @default_salary INT SET @salary =...
Описание слайда:
Создание процедуры с параметрами CREATE PROCEDURE ExampleProc ( @id INT, @name VARCHAR(32) ) AS BEGIN DECLARE @default_salary INT SET @salary = (SELECT …) END

Слайд 29


Вызов процедур Без параметров EXECUTE SimpleProc EXEC SimpleProc С параметрами EXECUTE ExampleProc 1, ‘string’
Описание слайда:
Вызов процедур Без параметров EXECUTE SimpleProc EXEC SimpleProc С параметрами EXECUTE ExampleProc 1, ‘string’

Слайд 30


Параметры по умолчанию и внешние CREATE PROCEDURE ExampleProc ( @id INT = 0, @name VARCHAR(32) = '', @salary INT OUTPUT ) AS BEGIN DECLARE...
Описание слайда:
Параметры по умолчанию и внешние CREATE PROCEDURE ExampleProc ( @id INT = 0, @name VARCHAR(32) = '', @salary INT OUTPUT ) AS BEGIN DECLARE @default_salary INT SET @salary = (SELECT …) END

Слайд 31


Создание процедуры с параметрами CREATE PROCEDURE GetUnitPrice @prod_id int, @unit_price money OUTPUT AS SELECT @unit_price = UnitPrice FROM Products...
Описание слайда:
Создание процедуры с параметрами CREATE PROCEDURE GetUnitPrice @prod_id int, @unit_price money OUTPUT AS SELECT @unit_price = UnitPrice FROM Products WHERE ProductID = @prod_id DECLARE @price money EXECUTE GetUnitPrice 77, @price OUTPUT SELECT @price

Слайд 32


Параметры: внутренние и внешние CREATE PROCEDURE ExampleProc ( @salary INT OUTPUT, @id INT = 0, @name VARCHAR(32) = '', DECLARE @s int; EXEC...
Описание слайда:
Параметры: внутренние и внешние CREATE PROCEDURE ExampleProc ( @salary INT OUTPUT, @id INT = 0, @name VARCHAR(32) = '', DECLARE @s int; EXEC ExampleProc @s OUTPUT, 3, ‘any_string‘ EXEC ExampleProc @s OUTPUT

Слайд 33


Параметры CREATE PROCEDURE ExampleProc ( @id INT = 0, @name VARCHAR(32) = '', @salary INT OUTPUT EXEC PROCEDURE ExampleProc 3 DECLARE @proc_name...
Описание слайда:
Параметры CREATE PROCEDURE ExampleProc ( @id INT = 0, @name VARCHAR(32) = '', @salary INT OUTPUT EXEC PROCEDURE ExampleProc 3 DECLARE @proc_name varchar(30) SET @proc_name = 'sp_who' EXEC @proc_name

Слайд 34


Процедура с циклом CREATE TABLE mytable ( column1 int, column2 char(10) ) CREATE PROCEDURE InsertRows @start_value int AS BEGIN DECLARE @loop_counter...
Описание слайда:
Процедура с циклом CREATE TABLE mytable ( column1 int, column2 char(10) ) CREATE PROCEDURE InsertRows @start_value int AS BEGIN DECLARE @loop_counter int, @start int SET @start = @start_value – 1 SET @loop_counter = 0 WHILE (@loop_counter < 5) BEGIN INSERT INTO mytable VALUES (@start + 1, ‘new row’) PRINT (@start) SET @start = @start + 1 SET @loop_counter = @loop_counter + 1 END END

Слайд 35


Процедура с циклом EXECUTE InsertRows 1 GO SELECT * FROM mytable column1 column2 ----------------------- 1 new row 2 new row 3 new row 4 new row 5...
Описание слайда:
Процедура с циклом EXECUTE InsertRows 1 GO SELECT * FROM mytable column1 column2 ----------------------- 1 new row 2 new row 3 new row 4 new row 5 new row

Слайд 36


Выход из процедуры RETURN CREATE PROCEDURE GetUnitPrice @prod_id int AS IF @prod_id IS NULL BEGIN PRINT ‘Enter a product ID number’ RETURN END ELSE …
Описание слайда:
Выход из процедуры RETURN CREATE PROCEDURE GetUnitPrice @prod_id int AS IF @prod_id IS NULL BEGIN PRINT ‘Enter a product ID number’ RETURN END ELSE …

Слайд 37


Передача имени таблицы DECLARE @SQL varchar(8000), @table_name varchar(20)='dbo.Employees' SET @SQL = 'SELECT * FROM ' + @table_name exec(@SQL)
Описание слайда:
Передача имени таблицы DECLARE @SQL varchar(8000), @table_name varchar(20)='dbo.Employees' SET @SQL = 'SELECT * FROM ' + @table_name exec(@SQL)

Слайд 38


Имя таблицы – параметр процедуры CREATE PROCEDURE dbo.mysample ( @tabname varchar(50) ,@somevalue char(3) ) AS begin declare @sql varchar(400) set...
Описание слайда:
Имя таблицы – параметр процедуры CREATE PROCEDURE dbo.mysample ( @tabname varchar(50) ,@somevalue char(3) ) AS begin declare @sql varchar(400) set @sql='DELETE FROM '+ @tabname + ' where id>'+ CHAR(39) + @somevalue + CHAR(39) exec(@sql); end

Слайд 39


SELECT-выражения в блоках Должны возвращать только одно значение! SET var_name = (SELECT column_name FROM …) При необходимости работать со множеством...
Описание слайда:
SELECT-выражения в блоках Должны возвращать только одно значение! SET var_name = (SELECT column_name FROM …) При необходимости работать со множеством записей используйте курсор.

Слайд 40


Курсоры Курсор в SQL – это область в памяти базы данных, которая предназначена для хранения запроса SQL. В памяти сохраняется и строка данных...
Описание слайда:
Курсоры Курсор в SQL – это область в памяти базы данных, которая предназначена для хранения запроса SQL. В памяти сохраняется и строка данных запроса, называемая текущим значением, или текущей строкой курсора. Указанная область в памяти поименована и доступна для прикладных программ.

Слайд 41


Курсоры DECLARE – создание или объявление курсора ; OPEN – открытие курсора, т.е. наполнение его данными; FETCH – выборка из курсора и изменение...
Описание слайда:
Курсоры DECLARE – создание или объявление курсора ; OPEN – открытие курсора, т.е. наполнение его данными; FETCH – выборка из курсора и изменение строк данных с помощью курсора; CLOSE – закрытие курсора ; DEALLOCATE – освобождение курсора, т.е. удаление курсора как объекта.

Слайд 42


Создание курсора DECLARE имя_курсора [INSENSITIVE][SCROLL] CURSOR FOR SELECT_оператор [FOR { READ_ONLY | UPDATE [OF имя_столбца[,...n]]}]
Описание слайда:
Создание курсора DECLARE имя_курсора [INSENSITIVE][SCROLL] CURSOR FOR SELECT_оператор [FOR { READ_ONLY | UPDATE [OF имя_столбца[,...n]]}]

Слайд 43


Курсоры DECLARE cursor_name CURSOR FOR select_statement OPEN cursor_name FETCH [NEXT] cursor_name [INTO variable_list] CLOSE cursor_name DEALLOCATE...
Описание слайда:
Курсоры DECLARE cursor_name CURSOR FOR select_statement OPEN cursor_name FETCH [NEXT] cursor_name [INTO variable_list] CLOSE cursor_name DEALLOCATE cursor_name

Слайд 44


Виды курсоров последовательные прокручиваемые Статические Динамические
Описание слайда:
Виды курсоров последовательные прокручиваемые Статические Динамические

Слайд 45


Статический курсор В схеме со статическим курсором информация читается из базы данных один раз и хранится в виде моментального снимка (по состоянию...
Описание слайда:
Статический курсор В схеме со статическим курсором информация читается из базы данных один раз и хранится в виде моментального снимка (по состоянию на некоторый момент времени), поэтому изменения, внесенные в базу данных другим пользователем, не видны. На время открытия курсора сервер устанавливает блокировку на все строки, включенные в его полный результирующий набор. Статический курсор не изменяется после создания и всегда отображает тот набор данных, который существовал на момент его открытия.

Слайд 46


Создаем статический курсор DECLARE cursor_name INSENSITIVE [ SCROLL ] CURSOR FOR select_statement
Описание слайда:
Создаем статический курсор DECLARE cursor_name INSENSITIVE [ SCROLL ] CURSOR FOR select_statement

Слайд 47


Динамический курсор Динамические курсоры отражают все изменения строк в результирующем наборе при прокрутке курсора. Значения типа данных, порядок и...
Описание слайда:
Динамический курсор Динамические курсоры отражают все изменения строк в результирующем наборе при прокрутке курсора. Значения типа данных, порядок и членство строк в результирующем наборе могут меняться для каждой выборки. Все инструкции UPDATE, INSERT и DELETE, выполняемые пользователями, видимы посредством курсора. Обновление видимы сразу, если они сделаны посредством курсора.

Слайд 48


Создаем динамический курсор DECLARE cursor_name [ SCROLL ] CURSOR FOR select_statement [ FOR { READ ONLY | UPDATE [ OF column_name [ ,...n ] ] } ]
Описание слайда:
Создаем динамический курсор DECLARE cursor_name [ SCROLL ] CURSOR FOR select_statement [ FOR { READ ONLY | UPDATE [ OF column_name [ ,...n ] ] } ]

Слайд 49


Создаем и открываем курсор DECLARE my_cursor CURSOR FOR SELECT id, name FROM Table1; OPEN my_cursor
Описание слайда:
Создаем и открываем курсор DECLARE my_cursor CURSOR FOR SELECT id, name FROM Table1; OPEN my_cursor

Слайд 50


Считываем текущую строку в перменные DECLARE @id INT, @name VARCHAR(32); FETCH FROM my_cursor INTO @id, @name
Описание слайда:
Считываем текущую строку в перменные DECLARE @id INT, @name VARCHAR(32); FETCH FROM my_cursor INTO @id, @name

Слайд 51


Функция @@FETCH_STATUS Функция @@FETCH_STATUS возвращает: 0, если выборка завершилась успешно; -1, если выборка завершилась неудачно вследствие...
Описание слайда:
Функция @@FETCH_STATUS Функция @@FETCH_STATUS возвращает: 0, если выборка завершилась успешно; -1, если выборка завершилась неудачно вследствие попытки выборки строки, находящейся за пределами курсора ; -2, если выборка завершилась неудачно вследствие попытки обращения к удаленной или измененной строке.

Слайд 52


Проходим по всему курсору FETCH my_cursor INTO @id, @name WHILE (@@FETCH_STATUS = 0) BEGIN FETCH FROM my_cursor INTO @id, @name END
Описание слайда:
Проходим по всему курсору FETCH my_cursor INTO @id, @name WHILE (@@FETCH_STATUS = 0) BEGIN FETCH FROM my_cursor INTO @id, @name END

Слайд 53


Закрываем курсор и освобождаем память CLOSE my_cursor DEALLOCATE my_cursor
Описание слайда:
Закрываем курсор и освобождаем память CLOSE my_cursor DEALLOCATE my_cursor

Слайд 54


Последовательный курсор DECLARE Employee_Cursor CURSOR FOR SELECT EmployeeID, Title FROM AdventureWorks2012.HumanResources.Employee WHERE JobTitle =...
Описание слайда:
Последовательный курсор DECLARE Employee_Cursor CURSOR FOR SELECT EmployeeID, Title FROM AdventureWorks2012.HumanResources.Employee WHERE JobTitle = 'Marketing Specialist'; OPEN Employee_Cursor; FETCH NEXT FROM Employee_Cursor; WHILE @@FETCH_STATUS = 0 BEGIN FETCH NEXT FROM Employee_Cursor; END; CLOSE Employee_Cursor; DEALLOCATE Employee_Cursor;

Слайд 55


Прокручиваемый курсор DECLARE cursor_name [INSENSITIVE] SCROLL CURSOR FOR select_statement SCROLL – свобода для FETCH FETCH [ [ NEXT | PRIOR | FIRST...
Описание слайда:
Прокручиваемый курсор DECLARE cursor_name [INSENSITIVE] SCROLL CURSOR FOR select_statement SCROLL – свобода для FETCH FETCH [ [ NEXT | PRIOR | FIRST | LAST | ABSOLUTE { n | @nvar } | RELATIVE { n | @nvar } ] FROM ] cursor_name [ INTO @variable_name [ ,...n ]

Слайд 56


Прокручиваемый курсор FETCH NEXT -- следующая PRIOR – предыдущая FIRST – первая LAST -- последняя ABSOLUTE { n | @nvar } -- номер строки RELATIVE { n...
Описание слайда:
Прокручиваемый курсор FETCH NEXT -- следующая PRIOR – предыдущая FIRST – первая LAST -- последняя ABSOLUTE { n | @nvar } -- номер строки RELATIVE { n | @nvar } -- относит. текущей строки FROM cursor_name [ INTO @variable_name [ ,...n ]

Слайд 57


Курсоры: усложним DECLARE cursor_name [ SCROLL ] CURSOR FOR select_statement FOR UPDATE [ OF column_name [ ,...n ] ] } ] UPDATE – возможность вносить...
Описание слайда:
Курсоры: усложним DECLARE cursor_name [ SCROLL ] CURSOR FOR select_statement FOR UPDATE [ OF column_name [ ,...n ] ] } ] UPDATE – возможность вносить изменения FETCH … UPDATE table_name SET id=@id+2 WHERE CURRENT OF cursor_name;

Слайд 58


Курсор – это почти всегда дополнительные ресурсы сервера и резкое падение производительности по сравнению с другими решениями!
Описание слайда:
Курсор – это почти всегда дополнительные ресурсы сервера и резкое падение производительности по сравнению с другими решениями!



Похожие презентации
Mypresentation.ru
Загрузить презентацию