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é.