Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ббд шпоры.doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
439.3 Кб
Скачать

48)Создание, модификация и удаление хранимых процедур средствами t-sql.

CREATE PROC[EDURE] procedure_name [;number]

[ {^parameter data_type} [VARYING] [= default] [OUTPUT] ] [,...n]

[WITH

{ RECOMPILE

| ENCRYPTION

| RECOMPILE. ENCRYPTION } ]

[FOR REPLICATION]

AS

sql_statement [...n]

procedure_name — имя создаваемой процедуры. Используя префиксы sp_, # и ##, можно определить создаваемую процедуру как системную или временную.

number — параметр определяет идентификационный номер хранимой процедуры, однозначно определяющий ее в группе процедур;

(^parameter — определяет имя параметра, который будет использоваться создаваемой хранимой процедурой для передачи входных или выходных данных.

OUTPUT — использование этого ключевого слова определяет указанный параметр как выходной;

VARYING — ключевое слово, которое используется совместно с параметром, относящимся к типу данных cursor. Определяет, что в качестве выходного параметра будет представлено результирующее множество;

RECOMPILE — ключевое слово, предписывающее системе создавать план выполнения процедуры при каждом ее вызове;

FOR REPLICATION — процедура, определенная с использованием данного ключевого слова, предназначена исключительно для осуществления процесса репликации.

ENCRYPTON — если при определении процедуры было использовано данное ключевое слово, то текст процедуры непосредственно перед записью в системную таблицу syscomments будет зашифрован.

AS — ключевое слово, определяющее начало кода хранимой процедуры.

В момент создания хранимой процедуры система осуществляет только проверку синтаксиса команд. Проверка правильности ссылок производится только в процессе компиляции хранимой процедуры, которая выполняется непосредственно перед ее выполнением.

Чтобы модифицировать хранимую процедуру:

ALTER PROC[EDURE] procedure_name [;number]

[ {©parameter data_type } [VARYING] [= default] [OUTPUT] ] [,...n]

[WITH

{ RECOMPILE

| ENCRYPTION

j RECOMPILE . ENCRYPTION} ]

[FOR REPLICATION]

AS

sql_statement [...n]

Параметры этой команды полностью идентичны аналогичным параметрам команды CREATE PROCEDURE.

Удаление хранимых процедур

DROP PROCEDURE {procedure} [,...n]