J'ai une table appelée W_US et je veux créer W_UK dans oracle avec le même schéma que pour W_US.Créer une nouvelle table en SQL avec le même schéma
Répondre
Il semble que vous vouliez créer une table appelée W_UK qui a les mêmes colonnes et types que W_US. Vous pouvez effectuer les opérations suivantes:
create table W_UK as
select *
from W_US
where 1 = 2;
Cela créera une table avec les mêmes spécifications de colonnes: noms, types de données et null/not null. Il ne créera pas d'autres contraintes (vérification, clé étrangère, clé primaire, unique), des autorisations, des déclencheurs ou d'autres index. Si vous devez créer une nouvelle table exactement comme elle, recherchez la fonction DBMS_METADATA.GET_DDL pour que le DDL la transforme comme vous le souhaitez. –
Ce genre de questions sont un drapeau d'avertissement, car la solution évidente consiste à cloner le script CREATE TABLE pour W_US (grâce à la magie de « Enregistrer sous ... ») et modifier le clone crée W_UK.
Le fait que cette avenue semble être fermée à vous suggère que vous n'avez pas vos déclarations DDL sous le contrôle de la source. C'est un mauvais état de choses. Tout notre code doit être sous le contrôle de la source, y compris les scripts qui construisent le schéma de la base de données. Pourquoi voulez-vous une table distincte?
Plutôt que de dire une seule table avec une colonne COUNTRY_CODE pour distinguer les enregistrements. – APC