ВУЗ:
Составители:
Рубрика:
можно найти еще несколько, которые требовали бы внесения изменений в функцию.
Но уже и так ясно, что пользователь должен иметь возможность внесения изменений в
созданные ранее функции.
Изменение функции может быть выполнено двумя способами:
• предварительное удаление функции с помощью команды DROP FUNCTION
и последующее создание обновленной функции с помощью команды
CREATE FUNCTION;
• сохранение под именем существующей функции нового кода с помощью
команды ALTER FUNCTION.
Первый метод изменения функций связан с определенными проблемами. В
частности, если вы потратили довольно много времени на предоставление
пользователям права вызова функции, то в случае ее удаления, вся информация о
правах доступа к функции будет потеряна. После создания функции с помощью
команды CREATE FUNCTION вам нужно будет заново раздавать пользователям права
доступа к функции. Помимо проблем с правами доступа, также могут быть затронуты
другие объекты базы данных (триггеры, хранимые процедуры или другие функции),
использующие в своей работе изменяемую функцию. При последующем создании
функция будет являться новым объектом базы данных, имеющем то же имя, что и
старая функция, но другой идентификационный номер.
Для избежания описанных проблем при внесении изменений в функцию следует
использовать команду ALTER FUNCTION, специально предназначенную для выполнения
подобных операций. Эта команда имеет специальный синтаксис для функций
каждого типа.
Для изменения функций типа Scalar используется следующий синтаксис:
ALTER FUNCTION [owner_name.] function_name
( [ { @parameter_name scalar_parameter_data_type
[ = default ] } [ ,...n ] ] )
RETURNS scalar_return_data_type
[ WITH < function_option> [,...n] ]
[ AS ]
BEGIN
function_body
RETURN scalar_expression
END
можно найти еще несколько, которые требовали бы внесения изменений в функцию.
Но уже и так ясно, что пользователь должен иметь возможность внесения изменений в
созданные ранее функции.
Изменение функции может быть выполнено двумя способами:
• предварительное удаление функции с помощью команды DROP FUNCTION
и последующее создание обновленной функции с помощью команды
CREATE FUNCTION;
• сохранение под именем существующей функции нового кода с помощью
команды ALTER FUNCTION.
Первый метод изменения функций связан с определенными проблемами. В
частности, если вы потратили довольно много времени на предоставление
пользователям права вызова функции, то в случае ее удаления, вся информация о
правах доступа к функции будет потеряна. После создания функции с помощью
команды CREATE FUNCTION вам нужно будет заново раздавать пользователям права
доступа к функции. Помимо проблем с правами доступа, также могут быть затронуты
другие объекты базы данных (триггеры, хранимые процедуры или другие функции),
использующие в своей работе изменяемую функцию. При последующем создании
функция будет являться новым объектом базы данных, имеющем то же имя, что и
старая функция, но другой идентификационный номер.
Для избежания описанных проблем при внесении изменений в функцию следует
использовать команду ALTER FUNCTION, специально предназначенную для выполнения
подобных операций. Эта команда имеет специальный синтаксис для функций
каждого типа.
Для изменения функций типа Scalar используется следующий синтаксис:
ALTER FUNCTION [owner_name.] function_name
( [ { @parameter_name scalar_parameter_data_type
[ = default ] } [ , . . . n ] ] )
RETURNS scalar_return_data_type
[ WITH < function_option> [ , . . . n ] ]
[ AS ]
BEGIN
function_body
RETURN scalar_expression
END
Страницы
- « первая
- ‹ предыдущая
- …
- 70
- 71
- 72
- 73
- 74
- …
- следующая ›
- последняя »
