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

Oracle Discussion :

[Oracle 9i] Optimisation d'une requête


Sujet :

Oracle

  1. #1
    Débutant
    Inscrit en
    Juin 2003
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 108
    Points : 52
    Points
    52
    Par défaut [Oracle 9i] Optimisation d'une requête
    Bonjour,

    J'aimerais optimiser une requête.

    Voici ma table et qqs données:

    Bon, le code est trop long, je peux vous le fournir en MP.


    voici maintenant ma requête :
    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
     
    SELECT 
           '01/04/2005' as Date_Calcul,
           selTot.RatedIssuers,
           selTot.RatedIssuersPonderes,
           selUp.IssuerUpgrades, 
           selUp.IssuerUpgradesPonderes, 
           selDown.IssuerDowngrades, 
           selDown.IssuerDowngradesPonderes,
           round((selUp.IssuerUpgrades-selDown.IssuerDowngrades)/selTot.RatedIssuers,3) as RatingsDrift,
           round((selUp.IssuerUpgradesPonderes-selDown.IssuerDowngradesPonderes)/selTot.RatedIssuersPonderes,3) as RatingsDriftPondere,
           round((selUp.IssuerUpgrades+selDown.IssuerDowngrades)/selTot.RatedIssuers,3) as RatingsTurnover,
           round((selUp.IssuerUpgradesPonderes+selDown.IssuerDowngradesPonderes)/selTot.RatedIssuersPonderes,3) as RatingsTurnoverPondere
     
    FROM
     
    (
     
    SELECT count (*) as RatedIssuers, 
           sum(nvl(selAll.c_notche,1)) as RatedIssuersPonderes
    FROM
     
          (SELECT * 
          FROM rdt_fs_histo_sp_w spx
          WHERE (spx.d_rating_date, spx.c_rating_agency_issuer) in              
     
                (SELECT max(spw.d_rating_date), spw.c_rating_agency_issuer 
     
                FROM   rdt_fs_histo_sp_w spw
     
                WHERE    spw.c_rating_agency_issuer in (100412,100317,100382,100794,100528,100326,100339)
                AND      spw.d_rating_date <= '01/04/2005'
     
                GROUP BY spw.c_rating_agency_issuer)
     
          AND (spx.d_previous_rating_date, spx.c_rating_agency_issuer) in
     
              (SELECT max(spu.d_previous_rating_date), spu.c_rating_agency_issuer
     
                  FROM   rdt_fs_histo_sp_w spu
     
                  WHERE spu.c_rating_agency_issuer in (100412,100317,100382,100794,100528,100326,100339)
                  AND   spu.d_rating_date <= '01/04/2005'
                  AND   spu.d_previous_rating_date <= add_months('01/04/2005',-12)
     
                  GROUP BY spu.c_rating_agency_issuer)       
     
           )selAll
     
    WHERE (selAll.c_pres_note='N' OR selAll.c_pres_note='A' OR selAll.c_pres_note='R')
     
    )selTot,
     
     
     
    ( 
     
    SELECT count (*) as IssuerUpgrades, 
           nvl(sum(nvl(selAll.c_notche,0)),0) as IssuerUpgradesPonderes
    FROM
     
          (SELECT * 
          FROM rdt_fs_histo_sp_w spx
          WHERE (spx.d_rating_date, spx.c_rating_agency_issuer) in              
     
                (SELECT max(spw.d_rating_date), spw.c_rating_agency_issuer 
     
                FROM   rdt_fs_histo_sp_w spw
     
                WHERE    spw.c_rating_agency_issuer in (100412,100317,100382,100794,100528,100326,100339)
                AND      spw.d_rating_date <= '01/04/2005'
     
     
                GROUP BY spw.c_rating_agency_issuer)
     
          AND (spx.d_previous_rating_date, spx.c_rating_agency_issuer) in
     
              (SELECT max(spu.d_previous_rating_date), spu.c_rating_agency_issuer
     
                  FROM   rdt_fs_histo_sp_w spu
     
                  WHERE spu.c_rating_agency_issuer in (100412,100317,100382,100794,100528,100326,100339)
                  AND   spu.d_rating_date <= '01/04/2005'
                  AND   spu.d_previous_rating_date <= add_months('01/04/2005',-12)
     
     
                  GROUP BY spu.c_rating_agency_issuer)      
     
           )selAll
     
    WHERE (selAll.c_pres_note='N' OR selAll.c_pres_note='A' OR selAll.c_pres_note='R')
    AND   selAll.c_last_action_rating_code='UPG'
     
    )SelUp,
     
     
     
    (
     
    SELECT count (*) as IssuerDowngrades, 
           nvl(sum(nvl(selAll.c_notche,0)),0) as IssuerDowngradesPonderes
    FROM
     
          (SELECT * 
          FROM rdt_fs_histo_sp_w spx
          WHERE (spx.d_rating_date, spx.c_rating_agency_issuer) in              
     
                (SELECT max(spw.d_rating_date), spw.c_rating_agency_issuer 
     
                FROM   rdt_fs_histo_sp_w spw
     
                WHERE    spw.c_rating_agency_issuer in (100412,100317,100382,100794,100528,100326,100339)
                AND      spw.d_rating_date <= '01/04/2005'
     
     
                GROUP BY spw.c_rating_agency_issuer)
     
          AND (spx.d_previous_rating_date, spx.c_rating_agency_issuer) in
     
              (SELECT max(spu.d_previous_rating_date), spu.c_rating_agency_issuer
     
                  FROM   rdt_fs_histo_sp_w spu
     
                  WHERE spu.c_rating_agency_issuer in (100412,100317,100382,100794,100528,100326,100339)
                  AND   spu.d_rating_date <= '01/04/2005'
                  AND   spu.d_previous_rating_date <= add_months('01/04/2005',-12)
     
     
                  GROUP BY spu.c_rating_agency_issuer)        
     
           )selAll
     
    WHERE (selAll.c_pres_note='N' OR selAll.c_pres_note='A' OR selAll.c_pres_note='R')
    AND   selAll.c_last_action_rating_code='DNG'
     
    )SelDown

    Et l'explication :

    Je souhaite calculer des indicateurs... Mais cela prend 6 secondes, ce qui est trop, sachant que je dois exécuter cette requete une centaine de fois (boucle )

    Le gros pb, est que cette requête exécute 3 fois la même sous-requête à une clause where près... comment optimiser cela ? De même, est il possible de revoir la sous requête qui permet de sélectionner la bonne ligne.

    Merci pour votre aide.

  2. #2
    Membre expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Points : 3 001
    Points
    3 001
    Par défaut
    Merci de lire : Postez dans le forum approprié

    Je déplace vers Oracle

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 138
    Points : 166
    Points
    166
    Par défaut
    Je n'ai pas lu la requête au complet, on s'entends que c'est drôlement chiant à lire mais je peux t'aiguiller tout de suite, avec ce que tu dis dans ton post, vers la clause WITH du select.

    En gros, with te permet de prédéfinir une "inline view" qui sera résolue une seule fois et utilisée plusieurs fois dans ton sql.

    Hope this helped...

  4. #4
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    pourquoi ne fais-tu pas quelque chose du genre (je n'ai pas géré les sommes, mais c'est le même principes):

    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
    select count(*) RatedIssuers,
           count (decode (selAll.c_last_action_rating_code,'UPG', 1)) IssuerUpgrades,
           count (decode(selAll.c_last_action_rating_code,'DNG', 1)) IssuerDowngrades
    from (SELECT * 
          FROM rdt_fs_histo_sp_w spx
          WHERE (spx.d_rating_date, spx.c_rating_agency_issuer) in              
     
                (SELECT max(spw.d_rating_date), spw.c_rating_agency_issuer 
     
                FROM   rdt_fs_histo_sp_w spw
     
                WHERE    spw.c_rating_agency_issuer in (100412,100317,100382,100794,100528,100326,100339)
                AND      spw.d_rating_date <= '01/04/2005'
     
                GROUP BY spw.c_rating_agency_issuer)
     
          AND (spx.d_previous_rating_date, spx.c_rating_agency_issuer) in
     
              (SELECT max(spu.d_previous_rating_date), spu.c_rating_agency_issuer
     
                  FROM   rdt_fs_histo_sp_w spu
     
                  WHERE spu.c_rating_agency_issuer in (100412,100317,100382,100794,100528,100326,100339)
                  AND   spu.d_rating_date <= '01/04/2005'
                  AND   spu.d_previous_rating_date <= add_months('01/04/2005',-12)
     
                  GROUP BY spu.c_rating_agency_issuer)

    Evite également de mettre select * (indique uniquement les colonnes dont tu as besoin)

  5. #5
    Débutant
    Inscrit en
    Juin 2003
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 108
    Points : 52
    Points
    52
    Par défaut
    je suis impressionné!
    Merci bcp pour votre aide. Effectivement cette dernière solution fonctionne très bien, à quelques paramétrages près, et est surtout bien plus courte.

    Maintenant, voici ce que je souhaiterai faire:

    Cette requête me renvoit une ligne comme celle ci:
    date1|indicateur1|indicateur2|...

    J'aimerais que cette fonction calcule les indicateurs pour n dates:
    date1|indicateur1|indicateur2|...
    date2|indicateur1|indicateur2|...
    date3|indicateur1|indicateur2|...
    date4|indicateur1|indicateur2|...
    date5|indicateur1|indicateur2|...

    De plus, le résultat retourné doit etre dans un curseur.

    Quelle est la syntaxe ?

    -ouvre le curseur
    -boucle for i=1 to n
    -execution de la requête pour la date i
    -next i
    -ferme le curseur rempli.

    J'avoue ne pas savoir du tout quelle syntaxe adopter... surtout que mon curseur rencontre des pbs par rapport à la requête.

    Si vous avez qqs pistes ?

    Je vais essayer de poster ci dessous ma table avec qqs enregistrements.

  6. #6
    Débutant
    Inscrit en
    Juin 2003
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 108
    Points : 52
    Points
    52
    Par défaut
    voici ma 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
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
     
    prompt PL/SQL Developer import file
    prompt Created on lundi 19 juin 2006 by 319577
    set feedback off
    set define off
    prompt Creating RDT_FS_HISTO_SP_W...
    create table RDT_FS_HISTO_SP_W
    (
      C_RMPM_CODE               VARCHAR2(18),
      C_RATING_AGENCY_ISSUER    VARCHAR2(18),
      D_RATING_DATE             DATE,
      C_CURRENT_RATING          VARCHAR2(12),
      D_PREVIOUS_RATING_DATE    DATE,
      C_PREVIOUS_RATING         VARCHAR2(12),
      C_LAST_ACTION_RATING_CODE VARCHAR2(3),
      C_NOTCHE                  NUMBER(3),
      C_PRES_NOTE               VARCHAR2(1),
      C_ID                      NUMBER not null
    )
    tablespace RDTDATA
      pctfree 10
      initrans 1
      maxtrans 255
      storage
      (
        initial 8320K
        minextents 1
        maxextents unlimited
      );
     
     
    prompt Loading RDT_FS_HISTO_SP_W...
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values (null, '100528', to_date('21-12-1983', 'dd-mm-yyyy'), 'BBB-', to_date('14-03-1950', 'dd-mm-yyyy'), 'A', 'DNG', 4, 'N', 19786055);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values (null, '100528', to_date('23-05-2002', 'dd-mm-yyyy'), 'BBB+', to_date('14-03-1950', 'dd-mm-yyyy'), 'A', 'DNG', 2, 'N', 19786056);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values (null, '100528', to_date('29-12-1993', 'dd-mm-yyyy'), 'BBB+', to_date('14-03-1950', 'dd-mm-yyyy'), 'A', 'DNG', 2, 'N', 19786057);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values (null, '100528', to_date('03-11-1975', 'dd-mm-yyyy'), 'BBB+', to_date('14-03-1950', 'dd-mm-yyyy'), 'A', 'DNG', 2, 'N', 19786058);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values (null, '100528', to_date('07-03-2003', 'dd-mm-yyyy'), 'BBB', to_date('14-03-1950', 'dd-mm-yyyy'), 'A', 'DNG', 3, 'N', 19786059);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values (null, '100528', to_date('13-09-1984', 'dd-mm-yyyy'), 'BBB', to_date('14-03-1950', 'dd-mm-yyyy'), 'A', 'DNG', 3, 'N', 19786060);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values (null, '100528', to_date('19-07-1983', 'dd-mm-yyyy'), 'BBB', to_date('14-03-1950', 'dd-mm-yyyy'), 'A', 'DNG', 3, 'N', 19786061);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values (null, '100528', to_date('10-01-1975', 'dd-mm-yyyy'), 'BBB', to_date('14-03-1950', 'dd-mm-yyyy'), 'A', 'DNG', 3, 'N', 19786062);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values (null, '100528', to_date('22-09-1967', 'dd-mm-yyyy'), 'AA', to_date('14-03-1950', 'dd-mm-yyyy'), 'A', 'UPG', 3, 'N', 19786063);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values (null, '100528', to_date('22-10-2040', 'dd-mm-yyyy'), 'AA', to_date('14-03-1950', 'dd-mm-yyyy'), 'A', 'UPG', 3, 'N', 19786064);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values (null, '100528', to_date('04-10-1996', 'dd-mm-yyyy'), 'A-', to_date('14-03-1950', 'dd-mm-yyyy'), 'A', 'DNG', 1, 'N', 19786065);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values (null, '100528', to_date('11-02-1972', 'dd-mm-yyyy'), 'A', to_date('14-03-1950', 'dd-mm-yyyy'), 'A', null, null, 'N', 19786066);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values (null, '100528', to_date('14-03-1950', 'dd-mm-yyyy'), 'A', to_date('14-03-1950', 'dd-mm-yyyy'), 'A', null, null, 'N', 19786067);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values (null, '100528', to_date('21-12-1983', 'dd-mm-yyyy'), 'BBB-', to_date('22-09-1967', 'dd-mm-yyyy'), 'AA', 'DNG', 7, 'N', 19786068);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values (null, '100528', to_date('23-05-2002', 'dd-mm-yyyy'), 'BBB+', to_date('22-09-1967', 'dd-mm-yyyy'), 'AA', 'DNG', 5, 'N', 19786069);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values (null, '100528', to_date('29-12-1993', 'dd-mm-yyyy'), 'BBB+', to_date('22-09-1967', 'dd-mm-yyyy'), 'AA', 'DNG', 5, 'N', 19786070);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values (null, '100528', to_date('03-11-1975', 'dd-mm-yyyy'), 'BBB+', to_date('22-09-1967', 'dd-mm-yyyy'), 'AA', 'DNG', 5, 'N', 19786071);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values (null, '100528', to_date('07-03-2003', 'dd-mm-yyyy'), 'BBB', to_date('22-09-1967', 'dd-mm-yyyy'), 'AA', 'DNG', 6, 'N', 19786072);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values (null, '100528', to_date('13-09-1984', 'dd-mm-yyyy'), 'BBB', to_date('22-09-1967', 'dd-mm-yyyy'), 'AA', 'DNG', 6, 'N', 19786073);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values (null, '100528', to_date('19-07-1983', 'dd-mm-yyyy'), 'BBB', to_date('22-09-1967', 'dd-mm-yyyy'), 'AA', 'DNG', 6, 'N', 19786074);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values (null, '100528', to_date('10-01-1975', 'dd-mm-yyyy'), 'BBB', to_date('22-09-1967', 'dd-mm-yyyy'), 'AA', 'DNG', 6, 'N', 19786075);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAZ70797', '100794', to_date('17-05-1993', 'dd-mm-yyyy'), 'BB+', to_date('18-09-1970', 'dd-mm-yyyy'), 'AAA', 'DNG', 10, 'N', 19788195);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAZ70797', '100794', to_date('19-06-1992', 'dd-mm-yyyy'), 'B+', to_date('18-09-1970', 'dd-mm-yyyy'), 'AAA', 'DNG', 13, 'N', 19788196);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAZ70797', '100794', to_date('03-02-1992', 'dd-mm-yyyy'), 'B', to_date('18-09-1970', 'dd-mm-yyyy'), 'AAA', 'DNG', 14, 'N', 19788197);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAZ70797', '100794', to_date('29-04-1988', 'dd-mm-yyyy'), 'B', to_date('18-09-1970', 'dd-mm-yyyy'), 'AAA', 'DNG', 14, 'N', 19788198);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAZ70797', '100794', to_date('18-09-1970', 'dd-mm-yyyy'), 'AAA', to_date('18-09-1970', 'dd-mm-yyyy'), 'AAA', null, null, 'N', 19788199);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAZ70797', '100794', to_date('29-04-1987', 'dd-mm-yyyy'), 'AA-', to_date('18-09-1970', 'dd-mm-yyyy'), 'AAA', 'DNG', 3, 'N', 19788200);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAZ70797', '100794', to_date('18-04-1983', 'dd-mm-yyyy'), 'AA', to_date('18-09-1970', 'dd-mm-yyyy'), 'AAA', 'DNG', 2, 'N', 19788201);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAZ70797', '100794', to_date('15-01-1990', 'dd-mm-yyyy'), 'NM', to_date('18-09-1970', 'dd-mm-yyyy'), 'AAA', null, null, 'R', 19788202);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAZ70797', '100794', to_date('14-12-1989', 'dd-mm-yyyy'), 'CCC+', to_date('18-09-1970', 'dd-mm-yyyy'), 'AAA', 'DNG', 16, 'N', 19788203);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAZ70797', '100794', to_date('14-05-1997', 'dd-mm-yyyy'), 'BBB-', to_date('18-09-1970', 'dd-mm-yyyy'), 'AAA', 'DNG', 9, 'N', 19788204);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAZ70797', '100794', to_date('17-11-1998', 'dd-mm-yyyy'), 'BBB+', to_date('18-09-1970', 'dd-mm-yyyy'), 'AAA', 'DNG', 7, 'N', 19788205);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAZ70797', '100794', to_date('30-08-2005', 'dd-mm-yyyy'), 'BBB', to_date('18-09-1970', 'dd-mm-yyyy'), 'AAA', 'DNG', 8, 'N', 19788206);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAZ70797', '100794', to_date('17-05-1993', 'dd-mm-yyyy'), 'BB+', to_date('18-04-1983', 'dd-mm-yyyy'), 'AA', 'DNG', 8, 'N', 19788207);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAZ70797', '100794', to_date('19-06-1992', 'dd-mm-yyyy'), 'B+', to_date('18-04-1983', 'dd-mm-yyyy'), 'AA', 'DNG', 11, 'N', 19788208);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAZ70797', '100794', to_date('03-02-1992', 'dd-mm-yyyy'), 'B', to_date('18-04-1983', 'dd-mm-yyyy'), 'AA', 'DNG', 12, 'N', 19788209);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAZ70797', '100794', to_date('29-04-1988', 'dd-mm-yyyy'), 'B', to_date('18-04-1983', 'dd-mm-yyyy'), 'AA', 'DNG', 12, 'N', 19788210);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAZ70797', '100794', to_date('29-04-1987', 'dd-mm-yyyy'), 'AA-', to_date('18-04-1983', 'dd-mm-yyyy'), 'AA', 'DNG', 1, 'N', 19788211);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAZ70797', '100794', to_date('18-04-1983', 'dd-mm-yyyy'), 'AA', to_date('18-04-1983', 'dd-mm-yyyy'), 'AA', null, null, 'N', 19788212);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAZ70797', '100794', to_date('15-01-1990', 'dd-mm-yyyy'), 'NM', to_date('18-04-1983', 'dd-mm-yyyy'), 'AA', null, null, 'R', 19788213);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAZ70797', '100794', to_date('14-12-1989', 'dd-mm-yyyy'), 'CCC+', to_date('18-04-1983', 'dd-mm-yyyy'), 'AA', 'DNG', 14, 'N', 19788214);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAZ70797', '100794', to_date('14-05-1997', 'dd-mm-yyyy'), 'BBB-', to_date('18-04-1983', 'dd-mm-yyyy'), 'AA', 'DNG', 7, 'N', 19788215);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAZ70797', '100794', to_date('17-11-1998', 'dd-mm-yyyy'), 'BBB+', to_date('18-04-1983', 'dd-mm-yyyy'), 'AA', 'DNG', 5, 'N', 19788216);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('08-03-1983', 'dd-mm-yyyy'), 'NR', to_date('15-12-1960', 'dd-mm-yyyy'), 'BBB-', null, null, 'R', 19783654);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('30-01-1973', 'dd-mm-yyyy'), 'BBB-', to_date('15-12-1960', 'dd-mm-yyyy'), 'BBB-', null, null, 'N', 19783655);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('15-12-1960', 'dd-mm-yyyy'), 'BBB-', to_date('15-12-1960', 'dd-mm-yyyy'), 'BBB-', null, null, 'N', 19783656);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('20-05-2004', 'dd-mm-yyyy'), 'BBB+', to_date('15-12-1960', 'dd-mm-yyyy'), 'BBB-', 'UPG', 2, 'N', 19783657);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('23-10-1989', 'dd-mm-yyyy'), 'BBB+', to_date('15-12-1960', 'dd-mm-yyyy'), 'BBB-', 'UPG', 2, 'N', 19783658);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('26-01-1987', 'dd-mm-yyyy'), 'BBB+', to_date('15-12-1960', 'dd-mm-yyyy'), 'BBB-', 'UPG', 2, 'N', 19783659);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('05-02-2002', 'dd-mm-yyyy'), 'BBB', to_date('15-12-1960', 'dd-mm-yyyy'), 'BBB-', 'UPG', 1, 'N', 19783660);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('12-12-1980', 'dd-mm-yyyy'), 'BBB', to_date('15-12-1960', 'dd-mm-yyyy'), 'BBB-', 'UPG', 1, 'N', 19783661);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('11-08-1964', 'dd-mm-yyyy'), 'BB-', to_date('15-12-1960', 'dd-mm-yyyy'), 'BBB-', 'DNG', 3, 'N', 19783662);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('09-05-1988', 'dd-mm-yyyy'), 'A-', to_date('15-12-1960', 'dd-mm-yyyy'), 'BBB-', 'UPG', 3, 'N', 19783663);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('03-06-1986', 'dd-mm-yyyy'), 'A-', to_date('15-12-1960', 'dd-mm-yyyy'), 'BBB-', 'UPG', 3, 'N', 19783664);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('08-03-1983', 'dd-mm-yyyy'), 'NR', to_date('11-08-1964', 'dd-mm-yyyy'), 'BB-', null, null, 'R', 19783665);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('30-01-1973', 'dd-mm-yyyy'), 'BBB-', to_date('11-08-1964', 'dd-mm-yyyy'), 'BB-', 'UPG', 3, 'N', 19783666);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('20-05-2004', 'dd-mm-yyyy'), 'BBB+', to_date('11-08-1964', 'dd-mm-yyyy'), 'BB-', 'UPG', 5, 'N', 19783667);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('23-10-1989', 'dd-mm-yyyy'), 'BBB+', to_date('11-08-1964', 'dd-mm-yyyy'), 'BB-', 'UPG', 5, 'N', 19783668);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('26-01-1987', 'dd-mm-yyyy'), 'BBB+', to_date('11-08-1964', 'dd-mm-yyyy'), 'BB-', 'UPG', 5, 'N', 19783669);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('05-02-2002', 'dd-mm-yyyy'), 'BBB', to_date('11-08-1964', 'dd-mm-yyyy'), 'BB-', 'UPG', 4, 'N', 19783670);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('12-12-1980', 'dd-mm-yyyy'), 'BBB', to_date('11-08-1964', 'dd-mm-yyyy'), 'BB-', 'UPG', 4, 'N', 19783671);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('11-08-1964', 'dd-mm-yyyy'), 'BB-', to_date('11-08-1964', 'dd-mm-yyyy'), 'BB-', null, null, 'N', 19783672);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('09-05-1988', 'dd-mm-yyyy'), 'A-', to_date('11-08-1964', 'dd-mm-yyyy'), 'BB-', 'UPG', 6, 'N', 19783673);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('03-06-1986', 'dd-mm-yyyy'), 'A-', to_date('11-08-1964', 'dd-mm-yyyy'), 'BB-', 'UPG', 6, 'N', 19783674);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('08-03-1983', 'dd-mm-yyyy'), 'NR', to_date('30-01-1973', 'dd-mm-yyyy'), 'BBB-', null, null, 'R', 19783675);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('30-01-1973', 'dd-mm-yyyy'), 'BBB-', to_date('30-01-1973', 'dd-mm-yyyy'), 'BBB-', null, null, 'N', 19783676);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('20-05-2004', 'dd-mm-yyyy'), 'BBB+', to_date('30-01-1973', 'dd-mm-yyyy'), 'BBB-', 'UPG', 2, 'N', 19783677);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('23-10-1989', 'dd-mm-yyyy'), 'BBB+', to_date('30-01-1973', 'dd-mm-yyyy'), 'BBB-', 'UPG', 2, 'N', 19783678);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('26-01-1987', 'dd-mm-yyyy'), 'BBB+', to_date('30-01-1973', 'dd-mm-yyyy'), 'BBB-', 'UPG', 2, 'N', 19783679);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('05-02-2002', 'dd-mm-yyyy'), 'BBB', to_date('30-01-1973', 'dd-mm-yyyy'), 'BBB-', 'UPG', 1, 'N', 19783680);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('12-12-1980', 'dd-mm-yyyy'), 'BBB', to_date('30-01-1973', 'dd-mm-yyyy'), 'BBB-', 'UPG', 1, 'N', 19783681);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('09-05-1988', 'dd-mm-yyyy'), 'A-', to_date('30-01-1973', 'dd-mm-yyyy'), 'BBB-', 'UPG', 3, 'N', 19783682);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('03-06-1986', 'dd-mm-yyyy'), 'A-', to_date('30-01-1973', 'dd-mm-yyyy'), 'BBB-', 'UPG', 3, 'N', 19783683);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('08-03-1983', 'dd-mm-yyyy'), 'NR', to_date('12-12-1980', 'dd-mm-yyyy'), 'BBB', null, null, 'R', 19783684);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('20-05-2004', 'dd-mm-yyyy'), 'BBB+', to_date('12-12-1980', 'dd-mm-yyyy'), 'BBB', 'UPG', 1, 'N', 19783685);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('23-10-1989', 'dd-mm-yyyy'), 'BBB+', to_date('12-12-1980', 'dd-mm-yyyy'), 'BBB', 'UPG', 1, 'N', 19783686);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('26-01-1987', 'dd-mm-yyyy'), 'BBB+', to_date('12-12-1980', 'dd-mm-yyyy'), 'BBB', 'UPG', 1, 'N', 19783687);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('05-02-2002', 'dd-mm-yyyy'), 'BBB', to_date('12-12-1980', 'dd-mm-yyyy'), 'BBB', null, null, 'N', 19783688);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('12-12-1980', 'dd-mm-yyyy'), 'BBB', to_date('12-12-1980', 'dd-mm-yyyy'), 'BBB', null, null, 'N', 19783689);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('09-05-1988', 'dd-mm-yyyy'), 'A-', to_date('12-12-1980', 'dd-mm-yyyy'), 'BBB', 'UPG', 2, 'N', 19783690);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('03-06-1986', 'dd-mm-yyyy'), 'A-', to_date('12-12-1980', 'dd-mm-yyyy'), 'BBB', 'UPG', 2, 'N', 19783691);
    insert into RDT_FS_HISTO_SP_W (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, D_PREVIOUS_RATING_DATE, C_PREVIOUS_RATING, C_LAST_ACTION_RATING_CODE, C_NOTCHE, C_PRES_NOTE, C_ID)
    values ('4AAQ43098', '100317', to_date('08-03-1983', 'dd-mm-yyyy'), 'NR', to_date('08-03-1983', 'dd-mm-yyyy'), 'NR', null, null, 'E', 19783692);
     
    commit;
    prompt 421 records loaded
    set feedback on
    set define on
    prompt Done.

  7. #7
    Débutant
    Inscrit en
    Juin 2003
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 108
    Points : 52
    Points
    52
    Par défaut
    vous pourrez tester avec cela ma première requete afin de comprendre les indicateurs que je souhaite retourner... Pour l'instant, j'ai mis la date en dur dedans ('01/04/2005'), mais en réalité, la fonction de calcul prendra en paramètre :

    -date début
    -date fin
    -période de calcul
    -ID divers..

    et ma fonction devra calculer les indicateurs chaque "periode" (tous les mois en général) entre date début et date fin, puis retourner un curseur rempli.

    Je reste dispo si vous avez des questions.

    Merci bcp !

  8. #8
    Débutant
    Inscrit en
    Juin 2003
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 108
    Points : 52
    Points
    52
    Par défaut
    personne n'a une petite idée ?

  9. #9
    Débutant
    Inscrit en
    Juin 2003
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 108
    Points : 52
    Points
    52
    Par défaut
    j'ai fait cela pour le curseur, mais il y a des erreurs:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    open result_curs for '
     
    Tout mon select précédent
     
    ' using AbonneId, groupeId, date_calcul, Horizon;
      return result_curs;

  10. #10
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    il y a indéniablement quelque chose à faire avec les fonctions analytiques

    http://lalystar.developpez.com/fonctionsAnalytiques/

  11. #11
    Débutant
    Inscrit en
    Juin 2003
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 108
    Points : 52
    Points
    52
    Par défaut
    Effectivement cela me servira sûrement.
    Mais pour mon histoire de boucle et de curseur, est ce que vous pourriez m'aiguiller un peu ?

  12. #12
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Citation Envoyé par Requin15
    mais il y a des erreurs
    et on doit les deviner ?

  13. #13
    Débutant
    Inscrit en
    Juin 2003
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 108
    Points : 52
    Points
    52
    Par défaut
    lol non du tout
    C'est juste pour dire...
    Et d'ailleurs, quand on ouvre un curseur, on peut exécuter tout type de select dedans ? Même les plus compliqués ?

    La, j'ai toujours une erreur ORA-1008.. enfin je cherche

  14. #14
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Citation Envoyé par Requin15
    La, j'ai toujours une erreur ORA-1008..
    C'est que toutes tes variables (style :1), ne sont pas remplacées.

  15. #15
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Citation Envoyé par Requin15
    Et d'ailleurs, quand on ouvre un curseur, on peut exécuter tout type de select dedans ? Même les plus compliqués ?
    Normalement oui...

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/08/2009, 10h38
  2. Optimisation d'une requête d'insertion
    Par fdraven dans le forum Oracle
    Réponses: 15
    Dernier message: 01/12/2005, 14h00
  3. Optimisation d'une requête patchwork
    Par ARRG dans le forum Langage SQL
    Réponses: 1
    Dernier message: 11/09/2005, 15h23
  4. optimisation d'une requête avec jointure
    Par champijulie dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 07/07/2005, 09h45
  5. [DB2] Optimisation d'une requête
    Par ahoyeau dans le forum DB2
    Réponses: 7
    Dernier message: 11/03/2005, 17h54

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