Catégories :

DDL pour les fonctions définies par l’utilisateur, les fonctions externes et les procédures stockées

ALTER PROCEDURE

Modifie les propriétés d’une procédure stockée existante. Actuellement, les seules opérations prises en charge sont le renommage d’une procédure stockée ou l’ajout, l’écrasement, la suppression d’un commentaire pour une procédure stockée. Si vous devez apporter d’autres modifications à une procédure stockée, utilisez plutôt DROP PROCEDURE, puis recréez la procédure stockée.

Voir aussi :

CREATE PROCEDURE , DROP PROCEDURE , SHOW PROCEDURES

Syntaxe

ALTER PROCEDURE [ IF EXISTS ] <name> ( [ <arg_data_type> , ... ] ) RENAME TO <new_name>

ALTER PROCEDURE [ IF EXISTS ] <name> ( [ <arg_data_type> , ... ] ) SET COMMENT = '<string_literal>'

ALTER PROCEDURE [ IF EXISTS ] <name> ( [ <arg_data_type> , ... ] ) UNSET COMMENT

ALTER PROCEDURE [ IF EXISTS ] <name> ( [ <arg_data_type> , ... ] ) EXECUTE AS { CALLER | OWNER }

Paramètres

nom

Indique l’identificateur de la procédure stockée à modifier. Si l’identificateur contient des espaces ou des caractères spéciaux, toute la chaîne doit être délimitée par des guillemets doubles. Les identificateurs entre guillemets doubles sont également sensibles à la casse.

type_données_arg [ , ... ]

Spécifie le type de données du ou des arguments pour la procédure stockée, si elle contient des arguments. Les types d’arguments sont nécessaires parce que les procédures stockées prennent en charge le surchargement de nom (plus précisément, deux procédures stockées dans le même schéma peuvent avoir le même nom) et les types d’arguments sont utilisés pour identifier la procédure que vous souhaitez modifier.

RENAME TO nouveau_nom

Spécifie le nouvel identificateur pour la procédure stockée ; la combinaison de l’identificateur et des types de données d’argument existants doit être unique pour le schéma.

Pour plus de détails, voir Exigences relatives à l’identificateur.

Lorsqu’un objet est renommé, les autres objets qui le référencent doivent être mis à jour avec le nouveau nom.

SET ...

COMMENT = 'litéral_chaine'

Ajoute un commentaire ou écrase le commentaire existant pour la procédure stockée. La valeur que vous spécifiez est affichée dans la colonne DESCRIPTION de la sortie pour SHOW PROCEDURES.

UNSET ...

Spécifie les propriétés à désactiver pour la procédure stockée, qui les réinitialise aux valeurs par défaut.

Actuellement, la seule propriété que vous pouvez désactiver est COMMENT, ce qui supprime le commentaire, s’il existe, pour la procédure.

EXECUTE AS

Une procédure stockée peut s’exécuter avec les privilèges du propriétaire (procédure stockée des « droits du propriétaire ») ou avec les privilèges de l’appelant (procédure stockée des « droits de l’appelant »). Si vous exécutez l’instruction ALTER PROCEDURE ... EXECUTE AS CALLER, alors, la procédure s’exécutera ensuite comme une procédure de droits de l’appelant. Si vous exécutez l’instruction ALTER PROCEDURE ... EXECUTE AS OWNER, alors, la procédure s’exécutera ensuite comme une procédure de droits du propriétaire.

Exemples

Renommer la procédure stockée procedure1 en procedure2 :

ALTER PROCEDURE IF EXISTS procedure1(FLOAT) RENAME TO procedure2;