Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/07/2011, 16h48   #1
Invité de passage
 
Inscription : janvier 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 44
Points : 2
Points : 2
Par défaut ORA-00600: internal error code, arguments: [qkadrv.ups2]

Bonjour,
je lance le code sql ci-dessous (base Oracle 9.2, OS =AIX, CONTRAT est une vue simple) :

Code SQL :
1
2
3
4
5
6
7
8
9
10
11
12
MERGE INTO QH_REF QH
USING CONTRAT C
ON (QH.PASTRF=C.PASTRF AND QH.PMSTRF=C.PMSTRF AND QH.PJSTRF=C.PJSTRF AND QH.CODEISIN=C.CODEISIN)
WHEN MATCHED THEN 
  UPDATE SET 
QH.CT_ITU                  = C.CT_ITU, 
QH.LL_TYP_ITU              = C.LL_TYP_ITU             
WHEN NOT MATCHED THEN 
  INSERT              
(QH.PASTRF,QH.PMSTRF,QH.PJSTRF,QH.CT_ITU,QH.LL_TYP_ITU,QH.TYPINST,QH.LIBTYINS,QH.CD_SOU_TYP_CNT_VAL,QH.LL_SOU_TYP_CNT_VAL,QH.CODEISIN,QH.LIBVAL,QH.DD_CNT,QH.DF_CNT,QH.CD_FAM_RSQ,QH.LL_FAM_RSQ)
VALUES
(C.PASTRF,C.PMSTRF,C.PJSTRF,C.CT_ITU,C.LL_TYP_ITU,C.TYPINST,C.LIBTYINS,C.CD_SOU_TYP_CNT_VAL,C.LL_SOU_TYP_CNT_VAL,C.CODEISIN,C.LIBVAL,C.DD_CNT,C.DF_CNT,C.CD_FAM_RSQ,C.LL_FAM_RSQ);

mais j'ai l'erreur : ORA-00600: internal error code, arguments: [qkadrv.ups2]

quelqu'un a une idée pourquoi j'ai l'erreur ORA-00600 ?
Merci par avance.
olap_2001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2011, 00h09   #2
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 437
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 437
Points : 4 173
Points : 4 173
Pour les ora-600 qui sont des erreurs internes oracle, il faut aller sur le support oracle, il sont un outils spécialement fait pour.
Il faut aussi regarder les logs (bdump), généralement, il y a d'autres erreurs avec.
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2011, 10h21   #3
Invité de passage
 
Inscription : janvier 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 44
Points : 2
Points : 2
Merci pour ta réponse, mais ou je peux trouver les logs bdump ?
olap_2001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2011, 10h28   #4
Membre Expert
 
Inscription : août 2009
Messages : 779
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 779
Points : 1 098
Points : 1 098
Dans le répertoire qui contient ta base, quelque chose du genre /ora/admin/
Rei Ichido est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 20/07/2011, 11h30   #5
Invité de passage
 
Inscription : janvier 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 44
Points : 2
Points : 2
c'est du chinois pour moi ce qui y a dans les fichiers Bdump.
pour y remedier à mon PBM j'ai remplacé la vue par ca requette et la j'ai une autre erreur voici ma nouvelle requette :

Code sql :
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
MERGE INTO QH_REF QH
USING (SELECT TO_NUMBER (TO_CHAR ((SELECT dtvaloref FROM tdbfi_ophyr_dts), 'YYYY')) PASTRF,
          TO_NUMBER (TO_CHAR ((SELECT dtvaloref FROM tdbfi_ophyr_dts), 'MM')) PMSTRF,
          TO_NUMBER (TO_CHAR ((SELECT dtvaloref FROM tdbfi_ophyr_dts), 'DD')) PJSTRF, cnt.ct_itu,
          cnt.ll_typ_itu, cnt.typinst, cnt.libtyins, cnt.cd_sou_typ_cnt,
          cnt.ll_sou_typ_cnt, cnt.codeisin, cnt.libval, cnt.dd_cnt,
          cnt.df_cnt, cnt.cd_fam_rsq, cnt.ll_fam_rsq, cnt.tx_pln, cnt.mt_plf,
          va_ect, cnt.da_opt_swa, cnt.typtx, cnt.tx_fix_cnt,
          cnt.cd_tau_ref_var, cnt.cd_frq_int, cnt.cd_bas_cal_div, cnt.nomi,
          cnt.cd_dev, cnt.fl_swa, ay_nio_tie, cd_ric_tie, cd_ric_grp_tie,
          cd_sec_bay_tie, cd_sec_gic_tie, cd_sec_nac_tie, da_not_ctm_fitch,
          da_not_ctm_mood, da_not_ctm_sp, da_not_ltm_fitch, da_not_ltm_mood,
          da_not_ltm_sp, da_ten_ctm_fitch, da_ten_ctm_mood, da_ten_ctm_sp,
          da_ten_ltm_fitch, da_ten_ltm_mood, da_ten_ltm_sp, ll_gar_tie,
          cd_grp_tie, ll_sec_bay_tie, ll_sec_gic_tie, ll_sec_nac_tie, ll_tie,
          ll_grp_tie, ll_nio_tie, ll_ric_tie, ll_ric_grp_tie, ll_ent_tie,
          ll_nat_tie, cd_not_tie_ctm_fitch, cd_not_tie_ctm_mood,
          cd_not_tie_ctm_sp, cd_not_tie_ltm_fitch, cd_not_tie_ltm_mood,
          cd_not_tie_ltm_sp, cd_rle_tie, ll_pay, fl_zon_eur, cd_ten_ctm_fitch,
          cd_ten_ctm_mood, cd_ten_ctm_sp, cd_ten_ltm_fitch, cd_ten_ltm_mood,
          cd_ten_ltm_sp, fl_tie_eea, fl_tie_emg, id_tie, fl_tie_ocd,
          fl_tie_zon_eur, cd_ent_tie, j1.ll_typ_jam, j1.lc_sen_jam,
          j1.cd_sja_jam, j1.ct_sja_jam, j1.lc_typ_sja_jam, j1.ll_jam,
          j1.va_ect_jam, j1.ct_tau_jam, j1.tx_fix_jam, j1.cd_tau_ref_var,
          j1.cd_frq_int, j1.cd_bas_cal_div, j1.mt_nom_jam, j1.cd_dev_jam,
          j1.ll_typ_cll_jam, j2.ll_typ_jam, j2.lc_sen_jam, j2.cd_sja_jam,
          j2.ct_sja_jam, j2.lc_typ_sja_jam, j2.ll_jam, j2.va_ect_jam,
          j2.ct_tau_jam, j2.tx_fix_jam, j2.cd_tau_ref_var, j2.cd_frq_int,
          j2.cd_bas_cal_div, j2.mt_nom_jam, j2.cd_dev_jam, j2.ll_typ_cll_jam
     FROM tdbfi_ophyr_04 tiers,
          tdbfi_ophyr_02 cnt,
          (SELECT * FROM tdbfi_ophyr_03 l WHERE l.lc_sen_jam = 'RECU') j1,
          (SELECT * FROM tdbfi_ophyr_03 f WHERE f.lc_sen_jam = 'VERSE') j2
    WHERE cnt.ct_itu = 'SWAP'
      AND cnt.codeisin = j1.codeisin(+)
      AND cnt.codeisin = j2.codeisin(+)
      AND cnt.id_tie_ctp = tiers.id_tie(+))  C
ON 
(QH.PASTRF=C.PASTRF  
AND QH.PMSTRF=C.PMSTRF 
AND QH.PJSTRF=C.PJSTRF
AND QH.CODEISIN= C.CODEISIN 
)
WHEN MATCHED THEN UPDATE SET QH.CD_FAM_RSQ = C.CD_FAM_RSQ
WHEN NOT MATCHED THEN 
  INSERT              
(QH.CD_FAM_RSQ)
VALUES
(C.CD_FAM_RSQ)

ci-dessous l'erreur :
Code sql :
1
2
3
4
WHEN MATCHED THEN UPDATE SET QH.CD_FAM_RSQ = C.CD_FAM_RSQ
*
ERREUR à la ligne 44 :
ORA-00918: COLUMN ambiguously defined
olap_2001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2011, 11h55   #6
Membre confirmé
 
Homme Grégoire MARTIN
Ingénieur développement logiciels
Inscription : janvier 2011
Messages : 128
Détails du profil
Informations personnelles :
Nom : Homme Grégoire MARTIN
Âge : 32
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Finance

Informations forums :
Inscription : janvier 2011
Messages : 128
Points : 225
Points : 225
bonjour,

Un de tes champs de ton SELECT qui n'est pas suffixés doit être défini dans au moins 2 de tes tables de ton FROM. Oracle ne sait donc pas dans laquelle de tes tables il doit prendre la valeur.

Citation:
ay_nio_tie, cd_ric_tie, cd_ric_grp_tie,
cd_sec_bay_tie, cd_sec_gic_tie, cd_sec_nac_tie, da_not_ctm_fitch,
da_not_ctm_mood, da_not_ctm_sp, da_not_ltm_fitch, da_not_ltm_mood,
da_not_ltm_sp, da_ten_ctm_fitch, da_ten_ctm_mood, da_ten_ctm_sp,
da_ten_ltm_fitch, da_ten_ltm_mood, da_ten_ltm_sp, ll_gar_tie,
cd_grp_tie, ll_sec_bay_tie, ll_sec_gic_tie, ll_sec_nac_tie, ll_tie,
ll_grp_tie, ll_nio_tie, ll_ric_tie, ll_ric_grp_tie, ll_ent_tie,
ll_nat_tie, cd_not_tie_ctm_fitch, cd_not_tie_ctm_mood,
cd_not_tie_ctm_sp, cd_not_tie_ltm_fitch, cd_not_tie_ltm_mood,
cd_not_tie_ltm_sp, cd_rle_tie, ll_pay, fl_zon_eur, cd_ten_ctm_fitch,
cd_ten_ctm_mood, cd_ten_ctm_sp, cd_ten_ltm_fitch, cd_ten_ltm_mood,
cd_ten_ltm_sp, fl_tie_eea, fl_tie_emg, id_tie, fl_tie_ocd,
fl_tie_zon_eur, cd_ent_tie,
Cordialement
ORA-007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 15h44   #7
Invité de passage
 
Inscription : janvier 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 44
Points : 2
Points : 2
Merci pour vos réponses,
effectivement il y avait 2 colonnes avec le même nom, j'ai corrigé le pbm et mon merge fonctionne correctement mais dès que je le met dans un bloc PL/SQL il me sort l'erreur ci-dessous :
Code sql :
1
2
3
4
ORA-06550: line 3, COLUMN 1:
PL/SQL: ORA-00932: inconsistent datatypes: expected NUMBER got -
ORA-06550: line 3, COLUMN 1:
PL/SQL: SQL Statement ignored


Avez-vous une idée ?
olap_2001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 16h54   #8
Membre confirmé
 
Homme Grégoire MARTIN
Ingénieur développement logiciels
Inscription : janvier 2011
Messages : 128
Détails du profil
Informations personnelles :
Nom : Homme Grégoire MARTIN
Âge : 32
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Finance

Informations forums :
Inscription : janvier 2011
Messages : 128
Points : 225
Points : 225
Bonjour,
Citation:
ORA-00932: inconsistent datatypes: expected string got string
Cause: One of the following:

An attempt was made to perform an operation on incompatible datatypes. For example, adding a character field to a date field (dates may only be added to numeric fields) or concatenating a character field with a long field.
An attempt was made to perform an operation on a database object (such as a table or view) that is not intended for normal use. For example, system tables cannot be modified by a user. Note that on rare occasions this error occurs because a misspelled object name matched a restricted object's name.
An attempt was made to use an undocumented view.

Action: If the cause is

different datatypes, then use consistent datatypes. For example, convert the character field to a numeric field with the TO_NUMBER function before adding it to the date field. Functions may not be used with long fields.
an object not intended for normal use, then do not access the restricted object.
A mon avis dans ton MERGE tu essaies d’insérer/updater un CHAR dans/avec un NUMBER ou quelque chose dans ce style.
ORA-007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 17h50   #9
Invité de passage
 
Inscription : janvier 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 44
Points : 2
Points : 2
c'est ce code au debut de mon merge qui pose pbm
Code sql :
SELECT TO_NUMBER (TO_CHAR ((SELECT dtvaloref FROM tdbfi_ophyr_dts), 'YYYY')) PASTRF, .....
Oracle ne reconnait pas la valeur de l'alias PASTRF .
olap_2001 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 21/07/2011, 21h53   #10
Modérateur
 
Avatar de al1_24
 
Homme Alain
Ingénieur d'études décisionnel
Inscription : mai 2002
Messages : 4 445
Détails du profil
Informations personnelles :
Nom : Homme Alain
Âge : 51
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études décisionnel
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 4 445
Points : 7 532
Points : 7 532
Pourquoi des doubles parenthèses pour encadrer les paramètres de TO_CHAR ?
__________________
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
al1_24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h27.


 
 
 
 
Partenaires

Hébergement Web