![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
CLOSE CustCursor
Хранимая процедура (SP) – набор заранее скомпилированных операторов SQL и операторов управления программой, который хранится как объект базы данных.
Использование
SP используются во всех случаях, когда необходимо получить максимальное быстродействие и свести код SQL в единую программу. Чаще всего используются SP, выполняющие вставку, удаление и обновление данных, а также формирующие данные для отчетов.
SP используются в качестве механизма защиты: если нельзя предоставлять прямой доступ пользователям к таблицам и представлениям БД, чтобы не допустить случайной их модификации, тогда пользователям предоставляется доступ к таблицам только по чтению, а для выполнения таких операций, как UPDATE и DELETE, создаются соответствующие SP, на выполнение которых пользователи и получают права, т.е. пользователи получают доступ к таблицам БД только путем выполнения SP.
Создание и модификация хранимых процедур
CREATE PROCEDURE [владелец.] имя_процедуры [; номер]
[ @параметр тип_данных [VARYING] [ = значение_по_умолчанию ] [OUTPUT],... ]
[ { FOR REPLICATION | WITH RECOMPILE} ] [ WITH ENCRYPTION ] ]
AS
SQL-текст
ALTER PROCEDURE [владелец.] имя_процедуры [; номер]
[ @параметр тип_данных [VARYING] [ = значение по умолчанию ] [OUTPUT],... ]
[ { FOR REPLICATION | WITH RECOMPILE} ] [ WITH ENCRYPTION ]
AS
SQL-текст
DROP PROCEDURE [владелец.] имя_процедуры [; номер]
имя_процедуры -- идентификатор SQL (# -- временная локальная SP, ## -- временная
глобальная SP)
номер -- целое число (можно создавать несколько SP с одним именем)
параметр -- входные и выходные (OUTPUT) параметры
VARYING -- для параметров типа CURSOR
FOR REPLICATION -- используется только в процессах репликации
WITH RECOMPILE -- план запроса ХП не хранится в процедурном КЭШе и при каждом
выполнении процедуры генерируется новый план запроса
WITH ENCRYPTION -- шифрование текста SP
Дата публикования: 2015-01-25; Прочитано: 243 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!