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 :

Détourner l'erreur ora-19011


Sujet :

SQL Oracle

  1. #1
    Membre expérimenté
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Points : 1 717
    Points
    1 717
    Billets dans le blog
    6
    Par défaut Détourner l'erreur ora-19011
    Salut tout le monde
    je fais appel à vos connaissances.

    Dans un select , je faisais un traitement de texte pour avoir en sortie une colonne .


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select champ1|| champ2||...  nouvelle_colonne from ma_table
    Le problème est qu'il y a erreur dont le code est ora-19011. La cause est que cette donnée en sortir dépasse 4000 caractères.
    Quelqu’un a une idée pour détourner cette erreur.

    Merci par avance.
    d'avoir Pensé à voter positivement pour ceux qui vous ont aidés et surtout à mettre si le cas.
    ça encourage.

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Une piste :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    SQL> with t as (
      2  select rpad('X',3000,'X') as x, rpad('Y',3000,'Y') as y
      3    from dual
      4  )
      5  select x ||';'|| y from t;
    select x ||';'|| y from t
                            *
    ERROR at line 5:
    ORA-01489: result of string concatenation is too long
     
    SQL> set long 100000
    SQL> with t as (
      2  select rpad('X',3000,'X') as x, rpad('Y',3000,'Y') as y
      3    from dual
      4  )
      5  select to_clob(x) ||';'|| to_clob(y) from t;
     
    TO_CLOB(X)||';'||TO_CLOB(Y)
    --------------------------------------------------------------------------------
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
     
    TO_CLOB(X)||';'||TO_CLOB(Y)
    --------------------------------------------------------------------------------
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
     
    TO_CLOB(X)||';'||TO_CLOB(Y)
    --------------------------------------------------------------------------------
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
     
    TO_CLOB(X)||';'||TO_CLOB(Y)
    --------------------------------------------------------------------------------
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX;YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
     
    TO_CLOB(X)||';'||TO_CLOB(Y)
    --------------------------------------------------------------------------------
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
     
    TO_CLOB(X)||';'||TO_CLOB(Y)
    --------------------------------------------------------------------------------
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
     
    TO_CLOB(X)||';'||TO_CLOB(Y)
    --------------------------------------------------------------------------------
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
    Y
     
     
    SQL>

  3. #3
    Membre expérimenté
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Points : 1 717
    Points
    1 717
    Billets dans le blog
    6
    Par défaut
    Merci skuatamad pour la réponse.
    Avec l'exemple que tu as posté, ça marche.
    Mais dans le cas concret, ça ne marche pas, l'erreur persiste toujours .
    Mon idée est de régénérer script de création de table avec méthode classique.
    Pour tester, j'attache le script de création de table (de 5074 caractères )ainsi la requête de génération de script de création de table en question .

    NB:La requête fonctionne si le nombre de caractères ne dépasse pas 4000 positions.
    Fichiers attachés Fichiers attachés
    d'avoir Pensé à voter positivement pour ceux qui vous ont aidés et surtout à mettre si le cas.
    ça encourage.

  4. #4
    Membre expérimenté
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Points : 1 717
    Points
    1 717
    Billets dans le blog
    6
    Par défaut
    Bonjour
    Quelqu'un a une idée pour faire passer l'exception.

    Table:

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
     
    CREATE TABLE GGDEMTRA
    (
      NO_DT                 VARCHAR2(10 BYTE),
      ETABLIE_PAR           VARCHAR2(40 BYTE),
      DATE_ETABLIS_DT       DATE,
      HEURE_ETABLIS_DT      DATE,
      DEPART_DEMANDEUR      VARCHAR2(3 BYTE),
      NO_SERIE_EQUIP        VARCHAR2(20 BYTE),
      DESCRIPT_ANOMALIE     VARCHAR2(1000 BYTE),
      ARRET_EQUIP           CHAR(1 BYTE),
      DATE_ARRET_EQUIP      DATE,
      HEURE_ARRET_EQUIP     DATE,
      DATE_REQUISE          DATE,
      HEURE_REQUISE         DATE,
      PRIORITE_DEMAND       VARCHAR2(2 BYTE),
      APPROUVEE_PAR         VARCHAR2(40 BYTE),
      DATE_APPROBAT         DATE,
      HEURE_APPROBAT        DATE,
      OBSERV_APPROBAT       VARCHAR2(100 BYTE),
      RECEPT_MAINT_PAR      VARCHAR2(40 BYTE),
      DATE_RECEPT_MAINT     DATE,
      HEURE_RECEPT_MAINT    DATE,
      PRIORITE_MODIFIEE     VARCHAR2(2 BYTE),
      GENRE_TRAVAUX         VARCHAR2(3 BYTE),
      RECEPT_PREP_PAR       VARCHAR2(40 BYTE),
      DATE_RECEPT_PREP      DATE,
      HEURE_RECEPT_PREP     DATE,
      DATE_DEBUT_PREP       DATE,
      HEURE_DEBUT_PREP      DATE,
      DATE_LIM_FIN_PREP     DATE,
      HEURE_LIM_FIN_PREP    DATE,
      CRAFT_LEADER          VARCHAR2(3 BYTE),
      DIAGNOSTIC_PANNE      VARCHAR2(1000 BYTE),
      NECESSITE_ETUDE       CHAR(1 BYTE),
      DELAI_ETUDE           DATE,
      HEURES_PERT           NUMBER(6),
      MINUTES_PERT          NUMBER(2),
      CODE_CAUSE_1          VARCHAR2(3 BYTE),
      CODE_CAUSE_2          VARCHAR2(3 BYTE),
      CODE_CAUSE_3          VARCHAR2(3 BYTE),
      CODE_CAUSE_4          VARCHAR2(3 BYTE),
      CODE_CAUSE_5          VARCHAR2(3 BYTE),
      CODE_ANOMALIE_1       VARCHAR2(3 BYTE),
      CODE_ANOMALIE_2       VARCHAR2(3 BYTE),
      CODE_ANOMALIE_3       VARCHAR2(3 BYTE),
      CODE_ANOMALIE_4       VARCHAR2(3 BYTE),
      CODE_ANOMALIE_5       VARCHAR2(3 BYTE),
      RECEPT_PLAN_PAR       VARCHAR2(40 BYTE),
      DATE_RECEPT_PLAN      DATE,
      HEURE_RECEPT_PLAN     DATE,
      PRIORITE_5            VARCHAR2(1 BYTE),
      DATE_LANCEMENT_DT     DATE,
      EQUIP_TESTE_PAR       VARCHAR2(40 BYTE),
      DATE_TEST_EQUIP       DATE,
      HEURE_TEST_EQUIP      DATE,
      RESULTATS_TEST        VARCHAR2(100 BYTE),
      EQUIP_RECEPT_PAR      VARCHAR2(40 BYTE),
      DATE_RECEPT_EQUIP     DATE,
      HEURE_RECEPT_EQUIP    DATE,
      OBSERV_EQUIP          VARCHAR2(100 BYTE),
      DATE_DEMAR_EQUIP      DATE,
      HEURE_DEMAR_EQUIP     DATE,
      CODE_GAMME            VARCHAR2(10 BYTE),
      REPERE_EQUIP          VARCHAR2(40 BYTE),
      CODE_COMPLEXE         CHAR(2 BYTE),
      CODE_ZONE             CHAR(1 BYTE),
      CODE_UNITE            CHAR(2 BYTE),
      CODE_CHAINE           CHAR(2 BYTE),
      CODE_INTERVENT        CHAR(2 BYTE),
      NO_RAPPORT_DI         VARCHAR2(10 BYTE),
      NO_RAPPORT_PREDICTIF  VARCHAR2(10 BYTE),
      CONSTRAINT GGDEMTRA_CK10
     CHECK (date_demar_equip >= date_arret_equip),
      CONSTRAINT GGDEMTRA_CK9
     CHECK (priorite_5 IN ('O','N')),
      CONSTRAINT GGDEMTRA_CK8
     CHECK (date_lim_fin_prep >= date_debut_prep),
      CONSTRAINT GGDEMTRA_CK7
     CHECK (date_debut_prep >= date_recept_prep),
      CONSTRAINT GGDEMTRA_CK6
     CHECK (necessite_etude IN ('O','N')),
      CONSTRAINT GGDEMTRA_CK4
     CHECK (priorite_modifiee IN ('1','2','3A','3B','4','4A','4B')),
      CONSTRAINT GGDEMTRA_CK3
     CHECK (priorite_demand IN ('1','2','3A','3B','4','4A','4B')),
      CONSTRAINT GGDEMTRA_CK1
     CHECK (minutes_pert >= 0 AND minutes_pert < 60),
      CONSTRAINT GGDEMTRA_CK5
     CHECK (genre_travaux = '1' AND priorite_modifiee IN ('1','2','3A','3B','4','4A','4B') OR genre_travaux = '2' AND priorite_modifiee IN ('3A','3B','4','4A','4B') OR genre_travaux = '3' OR genre_travaux = '4' OR genre_travaux = '5' AND priorite_modifiee = '3B'),
      CONSTRAINT GGDEMTRA_CK2
     CHECK (arret_equip IN ('O','N')),
      CONSTRAINT GGDEMTRA_PK0
     PRIMARY KEY
     (NO_DT),
      CONSTRAINT GGDEMTRA_FK6 
     FOREIGN KEY (CODE_CAUSE_1) 
     REFERENCES GGCAUSES (CODE_CAUSE),
      CONSTRAINT GGDEMTRA_FK4 
     FOREIGN KEY (DEPART_DEMANDEUR) 
     REFERENCES GXDEPART (DEPART_DEMANDEUR),
      CONSTRAINT GGDEMTRA_FK3 
     FOREIGN KEY (REPERE_EQUIP) 
     REFERENCES GGTYPEQU (REPERE_EQUIP),
      CONSTRAINT GGDEMTRA_FK2 
     FOREIGN KEY (CODE_COMPLEXE, CODE_ZONE, CODE_UNITE, CODE_CHAINE, CODE_INTERVENT) 
     REFERENCES GGCODMNT (CODE_COMPLEXE,CODE_ZONE,CODE_UNITE,CODE_CHAINE,CODE_INTERVENT),
      CONSTRAINT GGDEMTRA_FK15 
     FOREIGN KEY (CODE_ANOMALIE_5) 
     REFERENCES GGANOMAL (CODE_ANOMALIE),
      CONSTRAINT GGDEMTRA_FK17 
     FOREIGN KEY (NO_RAPPORT_PREDICTIF) 
     REFERENCES GGPANOML (NO_RAPPORT_ANOMALIE),
      CONSTRAINT GGDEMTRA_FK12 
     FOREIGN KEY (CODE_ANOMALIE_2) 
     REFERENCES GGANOMAL (CODE_ANOMALIE),
      CONSTRAINT GGDEMTRA_FK16 
     FOREIGN KEY (CRAFT_LEADER) 
     REFERENCES GGCRAFTS (CODE_CRAFT),
      CONSTRAINT GGDEMTRA_FK14 
     FOREIGN KEY (CODE_ANOMALIE_4) 
     REFERENCES GGANOMAL (CODE_ANOMALIE),
      CONSTRAINT GGDEMTRA_FK13 
     FOREIGN KEY (CODE_ANOMALIE_3) 
     REFERENCES GGANOMAL (CODE_ANOMALIE),
      CONSTRAINT GGDEMTRA_FK11 
     FOREIGN KEY (CODE_ANOMALIE_1) 
     REFERENCES GGANOMAL (CODE_ANOMALIE),
      CONSTRAINT GGDEMTRA_FK10 
     FOREIGN KEY (CODE_CAUSE_5) 
     REFERENCES GGCAUSES (CODE_CAUSE),
      CONSTRAINT GGDEMTRA_FK5 
     FOREIGN KEY (CODE_GAMME) 
     REFERENCES GGGAMMEO (CODE_GAMME),
      CONSTRAINT GGDEMTRA_FK9 
     FOREIGN KEY (CODE_CAUSE_4) 
     REFERENCES GGCAUSES (CODE_CAUSE),
      CONSTRAINT GGDEMTRA_FK8 
     FOREIGN KEY (CODE_CAUSE_3) 
     REFERENCES GGCAUSES (CODE_CAUSE),
      CONSTRAINT GGDEMTRA_FK7 
     FOREIGN KEY (CODE_CAUSE_2) 
     REFERENCES GGCAUSES (CODE_CAUSE)
    );
    Script:
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
     
    select table_name, /*to_clob*/('create table '|| table_name||CHR(13)||'('||CHR(13)||Rtrim(REPLACE(REPLACE(REPLACE( XMLAGG(  XMLELEMENT("V",colonne||',' ) ORDER BY table_name,ordre) ,'</V><V>', chr(13)||chr(10)), '</V>') , '<V>')  ,',')||');')
    from (
          select 1 ordre,table_name,t.COLUMN_NAME||' '||t.DATA_TYPE|| case 
                                                              when t.DATA_TYPE IN('VARCHAR2','CHAR')  then 
                                                              '('||t.DATA_LENGTH||')'
                                                              when t.DATA_TYPE IN('NUMBER')and t.DATA_PRECISION is not null  then 
                                                              '('||t.DATA_PRECISION||decode(t.DATA_SCALE,  null,'',','||t.DATA_SCALE)||')'
                                                              end
                                                              ||decode(t.NULLABLE,'N',' not null') ||
                                                              case 
                                                              when DATA_DEFAULT is not null then ' default ' || regexp_substr(dbms_lob.substr(DBMS_XMLGEN.GETXML 
                                                              ('select DATA_DEFAULT from user_tab_columns B where B.table_name='''||t.table_name||''' and COLUMN_NAME=''' || t.COLUMN_NAME||''''),4000,1),'[^(>)|(<)]+',1,8)
                                                              end colonne
     
          from user_tab_columns t where table_name = 'GGDEMTRA'  --and length(table_name)=8  
     
          --UNION
          UNION
          -- UNION
     
          select 2 ordre,B.table_name,' constraint '||case B.constraint_type 
          --P 
          when 'P' then 
          Rtrim(B.constraint_name||' primary key ('||Rtrim(EXTRACT(XMLAGG(xmlelement("V", BBB.column_name||',') order by B.TABLE_NAME ), '/V/text()'),','),',')||') using index '
          --P 
          --U 
          when 'U' then 
          Rtrim(B.constraint_name||' unique ('     ||Rtrim(EXTRACT(XMLAGG(xmlelement("V", BBB.column_name||',') order by B.TABLE_NAME ), '/V/text()'),','),',')||')  using index'
          --U 
          --R 
          when 'R' then 
          Rtrim(B.constraint_name||' foreign key ('||Rtrim(EXTRACT(XMLAGG(xmlelement("V", BBB.column_name||',') order by B.TABLE_NAME ), '/V/text()'),',')||') references '||BB.table_name ||'('||EXTRACT(XMLAGG(xmlelement("V", BBB.column_name||',') order by BB.TABLE_NAME ), '/V/text()'),',')||')'||decode(B.deferrable,null,' deferrable')||' '||decode(B.deferred,null,' initially deferred')        ||decode(B.delete_rule,'CASCADE',' on delete cascade;','')
          --R 
          --C 
          when 'C' then B.constraint_name||' check ('||
          regexp_substr(regexp_substr(dbms_lob.substr(DBMS_XMLGEN.GETXML 
          ('select G.search_condition  from user_constraints G where G.constraint_name ='''||B.constraint_name ||'''')),'[>].*[<]'),'[^>].*[^<]')||')'
          --C 
          end colonne
          from (sys.user_constraints B left join sys.user_constraints BB on B.r_constraint_name =BB.constraint_name) left join sys.user_cons_columns BBB on B.constraint_name=BBB.constraint_name
          where 
          /*B.constraint_name not like 'SYS%' and*/ B.table_name like 'GGDEMTRA' --and length(B.table_name)=8  
          group by B.table_name ,B.constraint_type,B.constraint_name,BB.table_name,B.deferrable,B.deferred,B.delete_rule
     
     
     
    )
    Group by table_name
    d'avoir Pensé à voter positivement pour ceux qui vous ont aidés et surtout à mettre si le cas.
    ça encourage.

  5. #5
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Si au final c'est le script de création d'une table que vous voulez récupérer, utilisez directement le package DBMS_METADATA, ça vous évitera de réinventer la roue.

  6. #6
    Membre expérimenté
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Points : 1 717
    Points
    1 717
    Billets dans le blog
    6
    Par défaut
    Effectivement Waldar
    Réellement, j'utilise cette requête dans une vue.

    Pourquoi j'ai évite d'utiliser le package DBMS_METADATA?

    Parce que, DBMS_METADATA.get_ddl me ramène et le script et les paramètres de stockage. Et pour avoir le script sans les paramètres de stockage, il faut faire appeler la fonction dbms_metadata.set_transform_param que l'on ne peux pas l’appeler à partir d'une vue . C'est pour ça je me suis orienté la solution postée.
    Ta proposition sera la bienvenue, Waldar.
    d'avoir Pensé à voter positivement pour ceux qui vous ont aidés et surtout à mettre si le cas.
    ça encourage.

  7. #7
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Crée alors une fonction basée de type PIPELINED qui te permet de faire du select dessus
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  8. #8
    Membre expérimenté
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Points : 1 717
    Points
    1 717
    Billets dans le blog
    6
    Par défaut Oracle Pipelined Table Functions
    Là,ça va répondre à mes besoins.
    Merci McM
    d'avoir Pensé à voter positivement pour ceux qui vous ont aidés et surtout à mettre si le cas.
    ça encourage.

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

Discussions similaires

  1. Erreur ORA-12514 avec database link
    Par gafreu dans le forum Administration
    Réponses: 20
    Dernier message: 09/09/2004, 11h53
  2. Erreur ORA-01036 sur un XMLGRAM
    Par sch dans le forum XMLRAD
    Réponses: 5
    Dernier message: 07/09/2004, 14h56
  3. code retour UNIX sur erreur ORA
    Par vinz_07 dans le forum Administration
    Réponses: 7
    Dernier message: 25/08/2004, 11h04
  4. erreur ora-12801 : error signaled in parallel query server
    Par dngaya dans le forum Administration
    Réponses: 5
    Dernier message: 15/04/2004, 16h25
  5. erreur "ORA-22905" lors de l'execution d'un requet
    Par benji999 dans le forum Administration
    Réponses: 26
    Dernier message: 14/04/2004, 11h47

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