ALTER VIEW — modifier la définition d'une vue
ALTER VIEW [ IF EXISTS ]nom
ALTER [ COLUMN ]nom_colonne
SET DEFAULTexpression
ALTER VIEW [ IF EXISTS ]nom
ALTER [ COLUMN ]nom_colonne
DROP DEFAULT ALTER VIEW [ IF EXISTS ]nom
OWNER TO {nouveau_propriétaire
| CURRENT_ROLE | CURRENT_USER | SESSION_USER } ALTER VIEW [ IF EXISTS ]name
RENAME [ COLUMN ]nom_colonne
TOnouveau_nom_colonne
ALTER VIEW [ IF EXISTS ]nom
RENAME TOnouveau_nom
ALTER VIEW [ IF EXISTS ]nom
SET SCHEMAnouveau_schéma
ALTER VIEW [ IF EXISTS ]nom
SET (nom_option
[=valeur_option
] [, ... ] ) ALTER VIEW [ IF EXISTS ]nom
RESET (nom_option
[, ... ] )
ALTER VIEW
modifie différentes propriétés d'une vue. Si
vous voulez modifier la requête définissant la vue, utilisez CREATE
OR REPLACE VIEW
.)
Vous devez être le propriétaire de la vue pour utiliser ALTER
VIEW
. Pour modifier le schéma d'une vue, vous devez aussi avoir le
droit CREATE
sur le nouveau schéma. Pour modifier le
propriétaire, vous devez aussi être un membre direct ou indirect de nouveau
rôle propriétaire, et ce rôle doit avoir le droit CREATE
sur le schéma de la vue. Ces restrictions permettent de s'assurer que le
changement de propriétaire ne fera pas plus que ce que vous pourriez faire en
supprimant et en recréant la vue. Néanmoins, un superutilisateur peut
changer le propriétaire de n'importe quelle vue.
nom
Le nom de la vue (pouvant être qualifié du schéma).
nom_colonne
Nom de la colonne existante.
nouveau_nom_colonne
NOuveau nom de la colonne existante.
IF EXISTS
Ne renvoie par d'erreur si la vue n'existe pas. Seul un message d'avertissement est renvoyé dans ce cas.
SET
/DROP DEFAULT
Ces formes ajoutent ou suppriment la valeur par défaut pour une colonne.
La valeur par défaut d'une colonne de la vue est substituée dans toute
commande INSERT
ou UPDATE
dont la
vue est la cible, avant d'appliquer les règles et triggers de la vue. Le
comportement par défaut de la vue prendra précédence sur toute valeur par
défaut à partir des relations sous-jacentes.
nouveau_propriétaire
Nom utilisateur du nouveau propriétaire de la vue.
nouveau_nom
Nouveau nom de la vue.
nouveau_schéma
Nouveau schéma de la vue.
SET ( nom_option
[= valeur_option
] [, ... ] )
RESET ( nom_option
[, ... ] )
Configure ou annule la configuration d'une option d'une vue. Les options actuellement supportées sont :
check_option
(enum
)
Modifie l'option de vérification d'une valeur. Les valeurs autorisées
sont local
et cascaded
.
security_barrier
(boolean
)
Modifie la propriété security_barrier de la vue. Il s'agit d'une
valeur booléenne, true
ou false
.
security_invoker
(boolean
)
Modifie la propriété security-invoker de la vue. Il s'agit d'une
valeur booléenne, true
ou false
.
Pour des raisons historiques, ALTER TABLE
peut aussi être
utilisé avec des vues ; mais seules les variantes de ALTER
TABLE
qui sont acceptées avec les vues sont équivalentes à celles
affichées ci-dessus.
Pour renommer la vue foo
en bar
:
ALTER VIEW foo RENAME TO bar;
Pour attacher une valeur par défaut à une colonne dans une vue modifiable :
CREATE TABLE table_base (id int, ts timestamptz); CREATE VIEW une_view AS SELECT * FROM table_base; ALTER VIEW une_view ALTER COLUMN ts SET DEFAULT now(); INSERT INTO table_base(id) VALUES(1); -- ts recevra une valeur NULL INSERT INTO une_view(id) VALUES(2); -- ts recevra l'heure courante
ALTER VIEW
est une extensions
PostgreSQL du standard SQL.