11548

Хранимые процедуры

Лабораторная работа

Информатика, кибернетика и программирование

Хранимые процедуры 1. БД Аналог приложения на языке программирования Borland Delphi База данных Приложение Таблица поле таблицы триггер Объект свойство объект

Русский

2013-04-08

40.5 KB

3 чел.

Хранимые процедуры

1.  

БД

«Аналог» приложения на языке программирования Borland Delphi

База данных

Приложение

Таблица

поле таблицы

триггер

Объект

свойство объекта

событие объекта

Хранимая процедура

Глобальная процедура приложения

2. Общий синтаксис создания хранимой процедуры

CREATE PROC[EDURE] <Имя_процедуры>

[@<Имя_параметра> <Тип_данных_параметра>

                                    [ = <Значение_параметра_по_умолчанию>]

                                    [OUTPUT]] [ ,...n ]

AS <SQL-выражения, составляющие тело процедуры>

3. Примеры

--3.1. Хранимая процедура, возвращающая сведения о поставках деталей

CREATE PROCEDURE sp_supplies

AS

SELECT supplier_name, detail_name, supply.supply_quantity, supply_date

FROM supply JOIN supplier ON supply.supplier_id = supplier.supplier_id

JOIN detail ON supply.detail_id = detail.detail_id

--Вызов процедуры sp_supplies:

EXECUTE sp_supplies

--3.2. Хранимая процедура, возвращающая сведения о поставках деталей за определенный интервал времени

CREATE PROCEDURE sp_date_supplies @start DATETIME, @end DATETIME

AS

SELECT supplier_name, detail_name, supply.supply_quantity, supply_date

FROM supply JOIN supplier ON supply.supplier_id = supplier.supplier_id

JOIN detail ON supply.detail_id = detail.detail_id

WHERE supply_date BETWEEN @start AND @end

--Вызов процедуры sp_date_supplies:

EXEC sp_date_supplies '01.01.2008', '17.11.2008'

--или

EXEC sp_date_supplies @end = '17.11.2008', @start = '01.01.2008'

--3.3. Процедура, добавляющая сведения в таблицу деталей

CREATE PROC sp_add_detail

@name VARCHAR (50) = 'Не задано',

@weight NUMERIC (10, 2),

@mat_id INT

AS

INSERT INTO detail (detail_name, weight, material_id)

VALUES (@name, @weight, @mat_id)

--Вызов процедуры sp_add_detail:

EXEC sp_add_detail 'Подшипник', 120, 2

--или

EXEC sp_add_detail @weight = 0.2, @mat_id = 1

--3.4. Процедура, возвращающая название материала, из которого изготовлено больше всего деталей

CREATE PROCEDURE most_popular_material

@name VARCHAR (50) OUTPUT,

@quantity INT OUTPUT

AS

SELECT @name = material_name, @quantity = COUNT (detail_id)

FROM material m JOIN detail d

ON m.material_id = d.material_id

GROUP BY material_name

ORDER BY COUNT (detail_id)

--Вызов процедуры most_popular_material:

DECLARE @material VARCHAR (50),

       @quantity INT

EXEC most_popular_material

@name = @material OUTPUT,

@quantity = @quantity OUTPUT

SELECT 'Большинство деталей (' + CAST (@quantity AS VARCHAR) + ' шт.) сделано из материала ' + @material

GO

--3.5. Процедура, реализующая функцию каскадного удаления на связь между таблицами материалов и деталей

CREATE PROC sp_delete_material @material_id INT

AS

IF (NOT EXISTS (SELECT * FROM detail WHERE material_id = @material_id))

BEGIN

 DELETE FROM material WHERE material_id = @material_id

 RETURN (0)

END

ELSE

BEGIN

 DELETE FROM detail WHERE material_id = material_id

 IF (@@ERROR = 0)

  BEGIN

   DELETE FROM material WHERE material_id = @material_id

   RETURN (0)

  END

 ELSE RETURN (1)

END

--Вызов процедуры sp_delete_material:

DECLARE @result INT

EXEC @result = sp_delete_material 6

IF @result = 0

PRINT 'Материал удален успешно'

ELSE

PRINT 'Не получилось  :('

GO


 

А также другие работы, которые могут Вас заинтересовать

38996. Доброе дело – бесценное богатство. Лукошко сказок: «Свободный город» 32 KB
  Лукошко сказок: Свободный город. Оборудование: телепередача Свободный город диск Цикл телевизионных передач для детей Доброе слово. Для этого мы побываем в Свободном городе. Почему город называется Свободным О чем мечтал Яков Как горожане спасали город Просмотр телепередачи 12 минут.
38997. Вход Господень в Иерусалим. Тайная вечеря и распятие 36.5 KB
  Эта традиция уходит корнями в те времена когда по земле ходил Господь Иисус Христос. Однажды заболел Его друг Лазарь а Господь находился в другом селении. Господь прослезился и сказал открыть гроб. Пальмовая ветвь символ победы в сражениях а Господь победил смерть.
38998. Традиции празднования Пасхи 42.5 KB
  Входит Шуня с пасхальным лукошком Шуня: Христос воскресе Здравствуйте ребята смотрите что у меня есть Матильда Леонардовна: Воистину воскресе Здравствуй Шунечка какое у тебя красивое лукошко а в нем все символы Пасхи собраны Шуня: И никакие не символы а самая вкусная пасхальная еда. Вот и яичко и пасочка и какаято горка творога вкусная наверное Матильда Леонардовна: Как ты не знаешь что это не простая еда а со значением символизирующая все самое важное в Пасхе И что это никакая не горка а творожная пасха а это не...
38999. Светлая седмица. Лукошко сказок: «Глухой колокол» 54 KB
  А Светлая потому что дарит людям радость на душе светло и легко Господь победил смерть Воскрес Смерти больше нет Зубок: А что вы говорили о загадке Матильда Леонардовна: Слушайте и отгадывайте: язык есть речей нет вести подает и поёт. Что это Шуня: Я не знаю а ты Зубок Зубок: Я тоже. А вы ребята Шуня: А давайте у Енотыча спросим Зубок: Побежали скорее Изучение нового материала. Енот Енотович: Что же это за загадка такая Зубок: Язык есть речей нет вести подает и поёт.
39000. Урок-повторение «Дорогой добра» 46.5 KB
  Вставь пропущенные буквы: ОЕНЬ ЛИА ОРА Осень липа Лиза лиса гора нора пора Кто такой Денница Падший ангел В какой день Бог отдыхал В седьмой Дополни пословицу: Маленькое лучше большого безделья. Спой песенку о днях творения День один день один Бог свет сотворил. День два день два сотворил Он небеса. День три день три реки травы и цветы.
39001. Откуда мы узнаем о Боге. Библия – Откровение Божие. Каков Он, Бог 36 KB
  08 Тема: Откуда мы узнаем о Боге Библия Откровение Божие. Каков Он Бог Цель: Познакомить детей с Книгой книг Библией; рассказать о том какой Он Бог свойства Божие; рассмотреть новозаветную и ветхозаветную иконы Святой Троицы объяснить понятие Бог Святая Троица на примере явления Ангелов Аврааму; изучить молитву Слава Тебе Боже наш слава Тебе. Скажи нам пожалуйста что такое святой угол Это то место в доме где находятся святые иконы и где мы можем общаться с Богом. Смотрите зажигаешь лампадку согревается сердце...
39002. Как Бог мир сотворил (1-3 дни творения) 40.5 KB
  И был вечер и было утро: день один. Матильда Леонардовна: Я даже знаю песенку ребята подпевайте первый куплет: День один день один Свет во тьме Бог сотворил. Шуня: А про этот день есть песенка Матильда Леонардовна: Да конечно подпевайте второй куплет: День два день два Небеса и облака. Подпевайте: День три день три Деревья травы и цветы.
39003. Как Бог человека сотворил. Человек – венец творения. Правила жизни, данные Богом в Раю 32.5 KB
  Цель: Изучить с детьми библейскую историю о сотворении человека; закрепить знания воспитанников о сотворении видимого мира; познакомить детей с жизнью первых людей в Раю; формировать у детей мировоззрение основанное на православных традициях; воспитывать ответственность за свое поведение. А как он создал человека Из чего Матильда Леонардовна: Внимание внимание открываем заседание клуба Совинформ Сегодня узнаем о создании человека. Изучение нового материала Рассказ жителей Шишкиного леса о сотворении человека.
39004. Дети Адама и Евы - Каин и Авель. Не завидуй 32 KB
  У Адама и Евы родились дети которых они назвали Каин и Авель. Каин был земледельцем выращивал овощи фрукты а Авель пастухом. Авель с любовью относился к Богу выбирал самое лучшее в дар Господу.