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

SQL Oracle Discussion :

Génération dynamique de script


Sujet :

SQL Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 19
    Points : 18
    Points
    18
    Par défaut Génération dynamique de script
    sous sqlplus, pour générer un script à partir d'un autre script, nous utilisons la commande SPOOL <nom_de_fichier>.
    exemple :
    spool c:\exemple.sql
    select 'alter table '||table_name||' disable constraint '||constraint_name||';'
    from all_constraints
    where owner = 'TEST';
    spool off
    @c:\exemple.sql

    J'ai besoin d'utiliser cette technique dans un Forms et dans une procédure stockée. Je voudrais bien savoir comment m' y prendre.

    Merci d'avance pour les réponses.

  2. #2
    Membre chevronné 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
    Points : 2 071
    Points
    2 071
    Par défaut
    Maintes fois traité mais bon...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    CREATE OR REPLACE PROCEDURE TEST
    IS
       s   VARCHAR2 (4000);
    BEGIN
       FOR c1 IN (SELECT table_name, constraint_name
                    FROM all_constraints
                   WHERE owner = 'TEST')
       LOOP
          s :=
                'alter table '
             || c1.table_name
             || ' disable constraint '
             || c1.constraint_name;
     
          EXECUTE IMMEDIATE s;
       END LOOP;
    END;
    Dans forms, appeler simplement la procédure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    BEGIN
    ....
    test;
    ...
    END;
    Garuda गरूड
    Brahmâ la Guerre et Vishnu la Paix

    Oracle 12C R2 - Forms11GR2 - Toad 12 - sharePoint 2010

  3. #3
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    begin 
      for f in (select owner,constraint_name,table_name from all_constraints where owner='TEST') loop
        execute immediate
          'alter table '||f.table_name||' disable constraint '||f.constraint_name;
      end loop;
    end;
    /
    PS: tu peux bien sûr ajouter un feedback, style dbms_output.put_line(f.constraint_name||' disabled');

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VB - Génération dynamique de controles dans un forme
    Par jeanangel dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 19/12/2005, 21h09
  2. [DOM] Génération dynamique fichier xml
    Par Fabouney dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 03/10/2005, 09h45
  3. Réponses: 9
    Dernier message: 25/01/2005, 14h46
  4. [SQL*Plus] génération dynamique du fichier de spool
    Par lalystar dans le forum Oracle
    Réponses: 3
    Dernier message: 06/12/2004, 10h44
  5. Réponses: 7
    Dernier message: 22/10/2004, 16h18

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