IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PL/SQL Oracle Discussion :

Plusieurs tables ayant la même structure


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    HRS
    HRS est déconnecté
    Membre chevronné
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    678
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 678
    Par défaut Plusieurs tables ayant la même structure
    J'ai plusieurs tables ayant la même structure. Je ne veux décrire la structure
    qu'une fois.

    Puis-je la décrire dans un package, comme suit ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE OR REPLACE PACKAGE DESCRIPTION_TABLES AS
    TYPE T_T1 IS RECORD (
       R1 NUMBER(4),
       R2 CHAR(3));
    END DESCRIPTION_TABLES;
    /
    Comment puis-je ensuite créer les différentes tables en faisant référence à la description du package ?

  2. #2
    Membre Expert Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Par défaut
    Fais une procedure qui cree tes tables en sql dynamique ('EXECUTE IMMEDIATE') avec comme paramètre le nom de la table à créer !
    Tu peux également de baser sur la vue 'ALL_TAB_COLUMNS' pour "cloner" une table existante sur le même principe.

  3. #3
    HRS
    HRS est déconnecté
    Membre chevronné
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    678
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 678
    Par défaut
    bien sûr qu'il faut utiliser du SQL dynamique, sauf qu'il me manque la syntaxe
    précise pour prendre la description dans le package

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EXECUTE IMMEDIATE 'CREATE TABLE TITI  ???????????????';

  4. #4
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut create table as select
    Bonjour,

    Ce que tu peux faire, c'est créer une table T1, puis créer les autres à partir de celle là en faisant des:
    create table T2 as select * from T1
    Mais ... pourquoi ne pas tout mettre dans la même table, éventuellement partitionnée ?

    Cordialement,
    Franck.

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/04/2008, 08h04
  2. Requete sur plusieurs tables contenant les mêmes champs
    Par Louison dans le forum Langage SQL
    Réponses: 3
    Dernier message: 03/04/2007, 20h41
  3. [MySQL] affichage de données de plusieurs tables dans un même tableau ?
    Par undebutant dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 19/03/2007, 11h56
  4. [Requête] plusieurs champs dans une même table ayants la même source
    Par Christophe93250 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 25/04/2006, 16h18
  5. Réponses: 2
    Dernier message: 30/09/2005, 16h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo