Студопедия — Лабораторная работа №6. Создание хранимых процедур
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Лабораторная работа №6. Создание хранимых процедур






Создание хранимых процедур

На практике часто требуется повторять последователь­ность одинаковых запросов. Хранимые процедуры позволяют объединить последова­тельность таких запросов и сохранить их на сервере. После этого клиентам достаточно послать один за­прос на выполнение хранимой процедуры.

Хранимые процедуры обладают следующими преимуществами.

Повторное использование кода – после создания хранимой процедуры ее можно вызывать из любых приложений и SQL-запросов.

Сокращение сетевого трафика – вместо нескольких запросов экономнее послать серверу запрос на выполнение хранимой процедуры и сразу получить ответ.

Безопасность – действия не приведут к нарушению целостности данных, т.к. для выполнения хранимой про­цедуры пользователь должен иметь привилегию.

Простота доступа – хранимые процедуры позволяют инкапсулировать сложный код и оформить его в виде простого вызова.

Выполнение бизнес-логики – хранимые процедуры позволяют перенести код сохранения целостности БД из прикладной программы на сервер БД. Бизнес-логика в виде храни­мых процедур не зависит от языка разработки приложения.

MS

Расчет суммы услуги без комиссионных оформлен в виде хранимой процедуры с использованием табличной переменной.

USE [Notarius]

GO

/*Сумма услуги без комиссионных*/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE PROCEDURE [dbo].[Sdelka1]

@N_klienta int

AS

DECLARE @mytable TABLE(sdelka1 int, sdelka2 int)

INSERT @mytable

SELECT SUM([SummaSdelki]-[Komissionie])

AS Sdelka, Sdelka.[N sdelki]

FROM [dbo].[Sdelka]

WHERE Sdelka.[N sdelki]=@N_klienta

GROUP BY [N sdelki]

SELECT SUM(sdelka1), SUM(sdelka2)FROM @mytable

GO

Вторая процедура:

USE [Notarius]

GO

--ФИО Клиента

CREATE PROCEDURE FIOkl

@Name nvarchar(max)

AS

SELECT * FROM [dbo].Klient WHERE FIO=@Name

GO

ORACLE

Простая процедура, которая выводит ФИО клиента и его номер телефона. Входным параметром является ФИО клиента:

CREATE procedure FIOkl(nam IN VARCHAR2)

IS

BEGIN

SELECT * FROM klient WHERE fio=nam

END FIOkl/

Вызвать процедуру, указав фио клиента:

SET SERVEROUTPUT ON

DECLARE

BEGIN FIOkl('Иванов Пётр Михайлович');

END/

Следующий скрипт представляет собой курсор, после выполнения которого на экране появляется список всех клиентов:

SET SERVEROUTPUT ON

DECLARE

CURSOR get_kl IS

SELECT * FROM klient;

klient get_kl%ROWTYPE;

BEGIN

OPEN get_kl;

LOOP

EXIT WHEN get_kl%NOTFOUND;

DBMS_OUTPUT.enable;

FETCH get_kl INTO klient;

DBMS_OUTPUT.put_line('N_klienta:'||TO_CHAR(klient.n_klienta)||''||klient.fio||''||klient.telefon||''||TO_CHAR(klient.adres));

END LOOP;

CLOSE get_kl;

AND;

 







Дата добавления: 2015-06-15; просмотров: 399. Нарушение авторских прав; Мы поможем в написании вашей работы!



Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Медицинская документация родильного дома Учетные формы родильного дома № 111/у Индивидуальная карта беременной и родильницы № 113/у Обменная карта родильного дома...

Основные разделы работы участкового врача-педиатра Ведущей фигурой в организации внебольничной помощи детям является участковый врач-педиатр детской городской поликлиники...

Ученые, внесшие большой вклад в развитие науки биологии Краткая история развития биологии. Чарльз Дарвин (1809 -1882)- основной труд « О происхождении видов путем естественного отбора или Сохранение благоприятствующих пород в борьбе за жизнь»...

Расчет концентрации титрованных растворов с помощью поправочного коэффициента При выполнении серийных анализов ГОСТ или ведомственная инструкция обычно предусматривают применение раствора заданной концентрации или заданного титра...

Психолого-педагогическая характеристика студенческой группы   Характеристика группы составляется по 407 группе очного отделения зооинженерного факультета, бакалавриата по направлению «Биология» РГАУ-МСХА имени К...

Общая и профессиональная культура педагога: сущность, специфика, взаимосвязь Педагогическая культура- часть общечеловеческих культуры, в которой запечатлил духовные и материальные ценности образования и воспитания, осуществляя образовательно-воспитательный процесс...

Studopedia.info - Студопедия - 2014-2024 год . (0.007 сек.) русская версия | украинская версия