Qui peut modifier une procédure stockée ?
L’instruction `ALTER PROCEDURE' peut être exécutée :
-
Le propriétaire de la procédure stockée ;
-
Les utilisateurs avec le privilège
ALTER ANY PROCEDURE
.
L’instruction `ALTER PROCEDURE' peut être exécutée :
Le propriétaire de la procédure stockée ;
Les utilisateurs avec le privilège ALTER ANY PROCEDURE
.
ALTER 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
CREATE OR ALTER PROCEDURE
Pour créer une nouvelle procédure stockée ou modifier une procédure existante.
DSQL, ESQL
CREATE OR ALTER PROCEDURE procname [(<inparam> [, <inparam> ...])] [ RETURNS (<outparam> [, <outparam> ...]) ] <routine-body> Pour plus de détails, voir CREATE PROCEDURE.
L’instruction CREATE OR ALTER PROCEDURE
crée une nouvelle procédure stockée ou modifie une procédure existante.Si la procédure stockée n’existe pas, elle sera créée en utilisant la proposition CREATE PROCEDURE
.S’il existe déjà, il sera modifié et compilé avec les privilèges et dépendances existants préservés.
CREATE OR ALTER 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
CREATE PROCEDURE,ALTER PROCEDURE,RECREATE PROCEDURE,DROP PROCEDURE.
DROP PROCEDURE
Suppression d’une procédure stockée existante.
DSQL, ESQL
DROP PROCEDURE procname
Paramètre | Description |
---|---|
procname |
Le nom de la procédure stockée. |
L’instruction DROP PROCEDURE
supprime une procédure stockée existante.Si des dépendances existent sur la procédure stockée, une erreur sera générée si une tentative est faite pour supprimer une telle procédure.
L’instruction DROP PROCEDURE
peut être exécutée :
<<fblangrefre-security-administrators,Administrateurs
Le propriétaire de la procédure stockée ;
Utilisateurs avec le privilège DROP ANY PROCEDURE
.
DROP PROCEDURE GET_EMP_PROJ;
RECREATE PROCEDURE
Pour créer une nouvelle procédure stockée ou recréer une procédure existante.
DSQL, ESQL
RECREATE PROCEDURE procname [(<inparam> [, <inparam> ...])] [ RETURNS (<outparam> [, <outparam> ...]) ] <routine-body> Pour plus de détails, voir CREATE PROCEDURE.
L’instruction `RECREATE PROCEDURE' crée une nouvelle procédure stockée ou recrée une procédure existante.Si une procédure portant ce nom existe déjà, l’opérateur tentera de la supprimer et de créer une nouvelle procédure.L’opération échouera lors de la confirmation de la transaction si la procédure a des dépendances.
Note
|
Notez que les erreurs de dépendance ne sont pas détectées avant la phase de confirmation de la transaction. |
Une fois que la procédure a été recréée, les privilèges d’exécution de la procédure stockée et les privilèges de la procédure stockée elle-même ne sont pas conservés.
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