ALTER USER MAPPING — change la définition d'une correspondance d'utilisateurs (user mapping)
ALTER USER MAPPING FOR {nom_utilisateur
| USER | CURRENT_ROLE | CURRENT_USER | SESSION_USER | PUBLIC } SERVERnom_serveur
OPTIONS ( [ ADD | SET | DROP ]option
['valeur
'] [, ... ] )
ALTER USER MAPPING
change la définition d'une
correspondance d'utilisateur (user mapping).
Le propriétaire d'un serveur distant peut aussi altérer les correspondances
d'utilisateurs pour ce serveur pour tout utilisateur. Par ailleurs, un
utilisateur peut modifier une correspondance d'utilisateur pour son propre
nom d'utilisateur s'il a reçu le droit USAGE
sur le
serveur distant.
nom_utilisateur
Nom d'utilisateur de la correspondance. CURRENT_ROLE
,
CURRENT_USER
et USER
correspondent
au nom de l'utilisateur courant. PUBLIC
est utilisé
pour correspondre à tous les noms d'utilisateurs présents et futurs du
système.
nom_serveur
Nom du serveur de la correspondance d'utilisateur.
OPTIONS ( [ ADD | SET | DROP ] option
['valeur
'] [, ... ] )
Modifie l'option pour la correspondance d'utilisateur. La nouvelle option
écrase toute option précédemment spécifiée. ADD
,
SET
et DROP
spécifient l'action à
exécuter. Si aucune action n'est spécifiée, l'action est
ADD
. Les noms d'options doivent être uniques ; les
options sont aussi validées par le wrapper de données distantes du
serveur.
Modifier le mot de passe pour la correspondance d'utilisateur
bob
, et le serveur foo
:
ALTER USER MAPPING FOR bob SERVER foo OPTIONS (SET password 'public');
ALTER USER MAPPING
est conforme à la norme ISO/IEC 9075-9
(SQL/MED). Il y a un problème de syntaxe subtil : le standard omet le
mot clé FOR
. Puisque CREATE USER
MAPPING
et DROP USER MAPPING
utilisent tous les
deux FOR
à un endroit analogue et que DB2 d'IBM (l'autre
implémentation majeure de SQL/MED) l'impose aussi pour ALTER USER
MAPPING
, PostgreSQL diverge du standard pour des raisons de
cohérence et de compatibilité.