Содержание
- 2. Программирование сервера БД Клиентское приложение Сервер баз данных Бизнес-логика
- 3. Пример функции бизнес - логики начало Входные параметры: КодЗак, КодТов, ДопКол Получить состояние заказа с кодом
- 4. Схема БД «Заказы» См.схему алгоритма
- 5. Реализация бизнес-логики на сервере БД Клиентское приложение Сервер баз данных Бизнес-логика Хранимые процедуры Триггера Бизнес –
- 6. Язык программирования бизнес-логики сервера БД Языком программирования бизнес логики серверов баз данных является расширение SQL: Transact-SQL
- 7. Элементы расширения языка T-SQL Переменные - это дополнительный объект T-SQL, который описывают идентификаторами (как и объекты
- 8. Элементы расширения языка T-SQL type - это те же типы, которые используются для описания столбцов таблиц,
- 9. Элементы расширения языка T-SQL Преобразование типов выполняется неявно и явно, используя функции: convert (data_type [ (length)
- 10. Элементы расширения языка T-SQL В T-SQL Часто используемые глобальные переменные @@ERROR – содержит код ошибки последнего
- 11. Элементы расширения языка T-SQL Команды присваивания значений переменным SET @name_local_var = SELECT @name_local_var = [,…] FROM
- 12. Элементы расширения языка T-SQL Команды управления вычислительным процессом управляют порядком выполнения инструкций на языке T-SQL, блоками
- 13. Элементы расширения языка T-SQL Команды управления вычислительным процессом Цикл WHILE Boolean_expression { sql_statement | statement_block }
- 14. Элементы расширения языка T-SQL Команды управления вычислительным процессом Безусловный переход GOTO label … label : GOTO
- 15. Элементы расширения языка T-SQL Команды обработки ошибок Блок TRY / CATCH BEGIN TRY END TRY BEGIN
- 16. Элементы расширения языка T-SQL Команды ввода-вывода данных Клиентское приложение Сервер баз данных Хранимые процедуры select Insert
- 17. Сообщения клиенту Для отправки сообщений из ХП и Триггеров клиенту, используется оператор T-SQL RAISERROR: RAISERROR (сообщение,
- 18. Ошибки SQL Server
- 19. Ошибки SQL Server
- 20. Пользовательские ошибки SQL Server Для добавления пользовательских ошибок используется системная ХП sp_addmessage sp_addmessage [ @msgnum =
- 21. Пользовательские ошибки SQL Server Для удаления пользовательских ошибок используется системная ХП sp_dropmessage [ @msgnum = ]
- 22. Хранимые процедуры ХП- это объект SQL Server, представленный набором откомпилированных операторов T-SQL. Системные ХП- это ХП,
- 23. Хранимые процедуры При создании ХП выполняется действия 1. Лексический анализатор разбивает процедуру на отдельные компоненты 2.
- 24. Хранимые процедуры Создание ХП CREATE PROC [ EDURE ] procedure_name [ { @parameter data_type } [
- 25. Хранимые процедуры Изменение ХП ALTER PROC [ EDURE ] procedure_name [ { @parameter data_type } [
- 26. [ EXEC [ UTE ] ] { [ @return_status = ] { procedure_name | @procedure_name_var }
- 27. Хранимые процедуры Входные параметры ХП CREATE PROC ВхПарам @Имя VARCHAR(30), @Всего INT, @ТекДата DATATIME AS ….
- 28. Хранимые процедуры Входные параметры ХП со значениями по умолчанию CREATE PROC ВхПарам @Имя VARCHAR(30), @Всего INT=1000,
- 29. Хранимые процедуры Выходные параметры ХП CREATE PROC ВыхПарам @КодЗаказа INT, @Результат INT OUT AS ... @Результат
- 30. ХП добавления товара в заказ CREATE PROC ДобавитьЗаказКолТовар @КодЗак INT, @КодТов INT, @ДопКол INT AS DECLARE
- 31. Пример 2 ХП Пример 2 бизнес-логики: добавление нового клиента См.схему БД Алгоритм: необходимые данные разнести по
- 32. Схема БД «Заказы» К сх. алгоритма ХП3
- 33. ХП добавления нового клиента СREATE PROCEDURE НовыйКлиент @УНП varchar(9), @Наименование varchar(50), @Руководитель varchar(30), @ЮрАдрес varchar(100), @Телефон
- 34. Пример 3 ХП Пример 3 бизнес-логики: аннулирование заказа Алгоритм: см. схему алгоритма
- 35. Схема алгоритма ХП аннулирования заказа начало Входные параметры: КодЗак Получить состояние заказа с кодом КодЗак Для
- 36. ХП аннулирования заказа CREATE proc АннулированиеЗаказа @КодЗаказа int AS if exists (select * from Заказы where
- 37. Триггера Триггер - это специальный тип ХП, которая выполняется при наступлении события по изменению данных в
- 38. События триггеров Триггеры в SQL Server 2008 могут создаваться на события модификации данных (DML-триггеры) модификации модели
- 39. Типы и виды DML-триггеров Типы триггеров - INSERT - DELETE - UPDATE Запускаются при попытке вставки
- 40. Создание триггеров CREATE TRIGGER trigger_name ON { table | view } [ WITH ENCRYPTION ] {
- 41. Пример триггера Проверить наличие организации при добавлении нового клиента-менеджера
- 42. Фрагмент схемы БД «Заказы» К тексту Т2
- 43. Пример триггера CREATE TRIGGER Add_Клиенты ON Клиенты FOR INSERT AS PRINT 'Выполнение триггера'; DECLARE @КлиентID int,
- 44. Пример 2 триггера Обеспечить логику первичного ключа таблицы «ЗаказаноТоваров» при добавлении товара в заказ
- 45. Фрагмент схемы БД «Заказы» К тексту Т2
- 46. Триггер на вставку CREATE TRIGGER Add_ЗаказТовар ON ЗаказаноТоваров INSTEAD OF INSERT AS DECLARE @НовыйЗаказ int, @НовыйТовар
- 47. DDL-триггеры Типы триггеров на события (event_type) - ALTER_ - CREATE_ - DROP_ - DENY_DATABASE - GRANT_DATABASE
- 48. Функции пользователя Функции могут быть 1. Системными (встроенными) – встроены в язык программирования. 2. Пользовательскими –
- 49. Типы функций пользователя Скалярные Однострочные Многострочные - возвращают скалярные значения любого типа данных (исключая, timestamp, text,
- 50. Тип table Table – это тип для описания виртуальных таблиц (т.е. таблиц в ОП) DECLARE @local_var
- 51. Тип table DECLARE @КЛИЕНТЫ TABLE (Код integer not null Primary key, Фирма varchar(40) not null, КодМен
- 52. Описание функций пользователя Описание скалярной функции CREATE FUNCTION [ owner_name. ] function_name ( [ { @parameter_name
- 53. Описание функций пользователя Пример скалярной функции, возвращающей последний день месяца CREATE FUNCTION ПоследнийДеньМесяца (@текДата Datetime) RETURNS
- 54. Описание функций пользователя Описание однострочной функции CREATE FUNCTION [ owner_name. ] function_name ( [ { @parameter_name
- 55. Описание функций пользователя Пример однострочной функции, возвращающей таблицу заказанных товаров по заказу с заданным кодом CREATE
- 56. Описание функций пользователя Описание многострочной функции CREATE FUNCTION [ owner_name. ] function_name ( [ { @parameter_name
- 58. Скачать презентацию