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


 

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

50004. РАЗРАБОТКА ИНСТРУКЦИИ ПО ОХРАНЕ ТРУДА 58.5 KB
  Изучить Методические рекомендации по разработке государственных нормативных требований охраны труда. Составить инструкцию по охране труда при выполнении работ указанных преподавателем. Время выполнения работы 2 часа МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ по разработке государственных нормативных требований по охране труда извлечение Приложение к Постановлению Минтруда РФ №80 от 17 декабря 2002г.
50005. ИЗМЕРЕНИЕ ШУМА В ПРОИЗВОДСТВЕННОМ ПОМЕЩЕНИИ 124.5 KB
  Изучить порядок работы измерителя шума и вибрации ИШВ1 и методику определения общего уровня шума. Оборудование: Стенд для исследования уровня шума. Измеритель шума и вибрации ИШВ1.
50006. ИНТЕРФЕРЕНЦИЯ ПОЛЯРИЗОВАННОГО СВЕТА 308.5 KB
  Этот процесс распространения переменного электромагнитного поля в свободном пространстве с конечной скоростью с = 3108 м с скоростью света в вакууме называется электромагнитной волной. В этом случае изменения вектора Ē и соответственно Ħ происходят всегда в одной и той же плоскости называемой плоскостью поляризации света. Плоскость образованная направлением распространения волны осью х и направлением изменения вектора Ē называется плоскостью поляризации света.
50007. ПРОВЕРКА ОСНОВНОГО ЗАКОНА ДИНАМИКИ ВРАЩАТЕЛЬНОГО ДВИЖЕНИЯ НА КРЕСТООБРАЗНОМ МАЯТНИКЕ ОБЕРБЕКА 2.82 MB
  Наша задача рассмотреть вращение абсолютно твердого тела относительно неподвижной оси. При вращении твердого тела траектории всех точек тела являются концентрическими окружностями центры которых лежат на оси вращения. Если положение оси вращения в пространстве с течением времени остается неизменным то в этом случае говорят что тело вращается около неподвижной оси. В этом случае плоскости всех концентрических окружностей перпендикулярны оси вращения а центры окружностей лежат на оси вращения.
50008. Очерк жизни и педагогической деятельности преподавателя Оршанского педагогического колледжа им. И.К. Глушкова Татьяны Александровны Сморкаловой 11.31 MB
  Высокий уровень знаний выпускников Татьяны Александровны и качество их работы в дошкольных образовательных учреждениях подтверждает то, что цели, поставленные ею - научить студентов мастерству рисования и передать любовь к изобразительному искусству детям, успешно достигаются.
50010. Оператор ввода-вывода в Pascal 75 KB
  Составной оператор служит для записи в свое тело других операторов, последовательность которых рассматривается в данном случае как один оператор. Этим оператором начинается и заканчивается раздел выполнения основной программы, подпрограммы, функции. После последнего оператора END основной программы ставится точка.
50011. Методы оценки надежности конструкций 260.5 KB
  Он заключался в том что для любого волокна конструкции должно было выполняться условие k S Sдоп где Sдоп допускаемое напряжение; S напряжение в волокне определяемое методами строительной механики; k коэффициент запаса. В этом методе коэффициент запаса для всех конструкций из данного материала был одинаков что не отвечало фактической работе таких комплексных материалов какими являются железобетон и каменная кладка компоненты которых имеют различные механические характеристики и в соответствии с этим в различной степени и с...