IMPORT FOREIGN SCHEMA — importe les définitions d'une table d'une instance différente
IMPORT FOREIGN SCHEMAschema_distant
[ { LIMIT TO | EXCEPT } (nom_table
[, ...] ) ] FROM SERVERnom_serveur
INTOschema_local
[ OPTIONS (option
'valeur
' [, ... ] ) ]
IMPORT FOREIGN SCHEMA
crée une table externe
qui représente une table existant dans une autre instance.
L'utilisateur qui lance la commande sera propriétaire de la nouvelle
table externe. La table sera créée avec des définition de colonnes
et options en cohérence avec ce qui est définit pour l'instance
distante.
Par défaut, toutes les tables et vues, existantes dans un schéma particulier de l'instance distante, sont importées. Il est possible de limiter la liste des tables à un sous ensemble, ou d'exclure des tables spécifiques. Les nouvelles tables externes sont toutes créées dans le schéma cible, qui doit déjà exister.
Pour utiliser IMPORT FOREIGN SCHEMA
, l'utilisateur
doit avoir le droit USAGE
sur l'instance
distante, ainsi que le droit CREATE
sur le
schéma cible.
schema_distant
C'est le schéma distant depuis lequel on réalise l'import. La signification spécifique d'un schéma distant dépend du wrapper de données distantes (foreign data wrapper) en cours d'utilisation.
LIMIT TO ( nom_table
[, ...] )
Importe seulement les tables distantes qui ont été spécifiées. Toutes les autres tables du schéma distant seront ignorées.
EXCEPT ( nom_table
[, ...] )
Exclut toutes les tables distantes qui ont été spécifiées. Toutes les tables du schéma distant seront importées sauf celles définies dans cette liste.
nom_serveur
Le serveur distant depuis lequel on importe.
schéma_local
Le schéma dans lequel sont créées les tables externes pour y importer les données distantes.
OPTIONS ( option
'valeur
' [, ...] )
Options à utiliser lors de l'import. Les noms et valeurs autorisés d'options sont spécifiques à chaque wrapper de données distantes.
On importe la définition des tables depuis un schéma distant
films_distants
du serveur
serveur_film
, en créant une table étrangère dans le
schéma local films
:
IMPORT FOREIGN SCHEMA films_distants FROM SERVER serveur_film INTO films;
Comme précédemment mais en important seulement les deux tables
acteurs
et
réalisateurs
(s'ils existent) :
IMPORT FOREIGN SCHEMA films_distants LIMIT TO (acteurs, réalisateurs) FROM SERVER serveur_film INTO films;
La commande IMPORT FOREIGN SCHEMA
se conforme au
standard SQL standard, sauf sur la clause
OPTIONS
qui est une extension
PostgreSQL.