Кто может удалить хранимую процедуру?
Выполнить оператор DROP PROCEDURE
могут:
-
Владелец хранимой процедуры;
-
Пользователи с привилегией
DROP ANY PROCEDURE
.
Выполнить оператор DROP PROCEDURE
могут:
Владелец хранимой процедуры;
Пользователи с привилегией DROP ANY PROCEDURE
.
DROP PROCEDURE GET_EMP_PROJ;
RECREATE PROCEDURE
Создание новой или пересоздание существующей хранимой процедуры.
DSQL, ESQL
RECREATE PROCEDURE procname [(<inparam> [, <inparam> ...])] [ RETURNS (<outparam> [, <outparam> ...]) ] <routine-body> Подробнее см. CREATE PROCEDURE.
Оператор RECREATE PROCEDURE
создаёт новую или пересоздаёт существующую хранимую процедуру.Если процедура с таким именем уже существует, то оператор попытается удалить её и создать новую процедуру.Операция закончится неудачей при подтверждении транзакции, если процедура имеет зависимости.
Note
|
Имейте в виду, что ошибки зависимостей не обнаруживаются до фазы подтверждения транзакции. |
После пересоздания процедуры привилегии на выполнение хранимой процедуры и привилегии самой хранимой процедуры не сохраняются.
RECREATE PROCEDURE GET_EMP_PROJ (
EMP_NO SMALLINT)
RETURNS (
PROJ_ID VARCHAR(20))
AS
BEGIN
FOR SELECT
PROJ_ID
FROM
EMPLOYEE_PROJECT
WHERE
EMP_NO = :emp_no
INTO :proj_id
DO
SUSPEND;
END