8
votes

Comment créer une table en tant que sélection d'une autre base de données à Oracle?

est-il possible de créer une table (dans My dev dB) à l'aide d'une section Sélectionner dans une autre base de données?

Je veux quelque chose comme: xxx

est sous la syntaxe Pour ce faire, ou dois-je créer d'abord une liaison de base de données?


0 commentaires

4 Réponses :


11
votes

Vous devez créer d'abord un fichier de données strong>.

oracle ne peut pas interroger d'autres bases de données à moins qu'un lien DB ne soit créé. Si un lien DB existe, comme vous l'avez fait remarquer, vous devez faire: P>

create tmp_table as select * from prod_schema.table@prod_db


0 commentaires

3
votes

@steve est correct qu'il doit y avoir une liaison DB, mais la syntaxe est la suivante: xxx


1 commentaires

Oups ... a été mordu (n'a pas eu d'oracle dB à la main pour tester). Corrigé ma réponse, thx ...



1
votes

N'oubliez pas de créer vos index. Vous pouvez obtenir ceci pour toutes les tables de votre schéma avec une requête comme celle-ci:

SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name)
     FROM USER_INDEXES u;


2 commentaires

Je laisserai ça pour le dba :)


Lol, si vous allez faire cela, vous pouvez simplement demander à votre DBA d'expirer directement le schéma, ce sera beaucoup plus rapide.



-2
votes
CREATE TABLE table_name
AS SELECT * FROM schema_name.table_name;

1 commentaires

Cela ne prend pas en compte "d'une différence de base de données"