Bonjour à tous,
J'en viens à essayer de trouver une réponse parmi les dieux du SQL oracle. Car je bloque sur un problème incompréhensible (par moi, du moins)
J'ai construit une requète un peu complexe mais qui tourne:
ça tourne quasi instantanément.
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 select param.Code_ECHANGE "codeEchange", param.type_commande "typeCommande", o.ROW_ID "idCmdSiebel", param.ROW_ID "IdMatriceTechnique", ext.ATTRIB_34 "refCmdPortail", idldcom.CHAR_VAL "idDossier", cli.INTEGRATION_ID "idIntegration", cli.ROW_ID "client.idClient", con.PER_TITLE "client.civilite", con.LAST_NAME "client.nom", con.FST_NAME "client.prenom", con.HOME_PH_NUM "client.telContactPrincipal", com.ADDR "client.telContactSecondaire", con.EMAIL_ADDR "client.adresseMailContact", clix.ATTRIB_34 "client.codeApporteur", titulaireLigne.CHAR_VAL "client.nomPrenomTitulaireLigne", TypePorta.CHAR_VAL , operateurCedant.CHAR_VAL from s_ORDER o inner join S_ORG_EXT cli on o.accnt_id = cli.ROW_ID inner join S_ORG_EXT_X clix on cli.ROW_ID = clix.par_row_id inner join S_EVT_ACT evt on o.X_ACTIVITY_Id = evt.ROW_ID inner join S_EVT_ACT_X ext on evt.row_id = ext.par_row_id inner join S_CONTACT con on con.row_id = cli.pr_con_id inner join s_CON_ADDR ca on ca.accnt_id =cli.ROW_ID inner join S_ADDR_PER addr on ca.ADDR_PER_ID = addr.ROW_ID and addr.ownership_cd = 'Technique' inner join S_ORDER_ITEM oi_Fibre on o.ROW_ID = oi_Fibre.ORDEr_ID inner join S_PROD_INT prd_fibre on oi_FIBRE.PROD_ID = prd_fibre.ROW_ID and prd_fibre.Name = 'Prise Fibre optique' left outer join S_ORDER_ITEM oi_PortaOBL on o.ROW_ID = oi_PortaOBL.ORDEr_ID and oi_PortaOBL.prod_id ='1-29E7BWG' left outer join S_PER_COMM_ADDR com on con.PR_ALT_PH_NUM_ID = com.ROW_ID left outer join CX_EAI_SUG_CMD exp on o.ROW_ID = exp.id_cmd left outer join CX_SUGAR_PARAM param on exp.id_tango_param = param.row_id left outer join S_ORDER_ITEM_XA idldcom on oi_Fibre.ROW_ID = idldcom.order_item_id and idldcom.ATTR_NAME ='ID_LDCOM' left outer join S_ORDER_ITEM_XA titulaireLigne on oi_Fibre.ROW_ID = titulaireLigne.order_item_id and titulaireLigne.ATTR_NAME ='Titulaire Ligne' left outer join S_ORDER_ITEM_XA TypePorta on oi_Fibre.ROW_ID = TypePorta.order_item_id and TypePorta.ATTR_NAME ='type portabilité' left outer join S_ORDER_ITEM_XA operateurCedant on oi_PortaOBL.ROW_ID = operateurCedant.order_item_id and operateurCedant.ATTR_NAME ='Opérateur cédant' left outer join S_ORDER_ITEM_XA NdiOblTiers on oi_PortaOBL.ROW_ID = NdiOblTiers.order_item_id and NdiOblTiers.ATTR_NAME ='NDI OBL tiers' where o.ROW_Id = '1-34BUN6Z'
mais si je rajoute une seule colonne fixe (valeur constante), la requête ne me rends plus la main et ora renvoit un ORA-17410
Est-ce que quelqu'un aurait une idée ????
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 select param.Code_ECHANGE "codeEchange", param.type_commande "typeCommande", o.ROW_ID "idCmdSiebel", param.ROW_ID "IdMatriceTechnique", ext.ATTRIB_34 "refCmdPortail", idldcom.CHAR_VAL "idDossier", cli.INTEGRATION_ID "idIntegration", cli.ROW_ID "client.idClient", con.PER_TITLE "client.civilite", con.LAST_NAME "client.nom", con.FST_NAME "client.prenom", con.HOME_PH_NUM "client.telContactPrincipal", com.ADDR "client.telContactSecondaire", con.EMAIL_ADDR "client.adresseMailContact", clix.ATTRIB_34 "client.codeApporteur", titulaireLigne.CHAR_VAL "client.nomPrenomTitulaireLigne", TypePorta.CHAR_VAL , operateurCedant.CHAR_VAL, 'toto' ERREUR from s_ORDER o inner join S_ORG_EXT cli on o.accnt_id = cli.ROW_ID inner join S_ORG_EXT_X clix on cli.ROW_ID = clix.par_row_id inner join S_EVT_ACT evt on o.X_ACTIVITY_Id = evt.ROW_ID inner join S_EVT_ACT_X ext on evt.row_id = ext.par_row_id inner join S_CONTACT con on con.row_id = cli.pr_con_id inner join s_CON_ADDR ca on ca.accnt_id =cli.ROW_ID inner join S_ADDR_PER addr on ca.ADDR_PER_ID = addr.ROW_ID and addr.ownership_cd = 'Technique' inner join S_ORDER_ITEM oi_Fibre on o.ROW_ID = oi_Fibre.ORDEr_ID inner join S_PROD_INT prd_fibre on oi_FIBRE.PROD_ID = prd_fibre.ROW_ID and prd_fibre.Name = 'Prise Fibre optique' left outer join S_ORDER_ITEM oi_PortaOBL on o.ROW_ID = oi_PortaOBL.ORDEr_ID and oi_PortaOBL.prod_id ='1-29E7BWG' left outer join S_PER_COMM_ADDR com on con.PR_ALT_PH_NUM_ID = com.ROW_ID left outer join CX_EAI_SUG_CMD exp on o.ROW_ID = exp.id_cmd left outer join CX_SUGAR_PARAM param on exp.id_tango_param = param.row_id left outer join S_ORDER_ITEM_XA idldcom on oi_Fibre.ROW_ID = idldcom.order_item_id and idldcom.ATTR_NAME ='ID_LDCOM' left outer join S_ORDER_ITEM_XA titulaireLigne on oi_Fibre.ROW_ID = titulaireLigne.order_item_id and titulaireLigne.ATTR_NAME ='Titulaire Ligne' left outer join S_ORDER_ITEM_XA TypePorta on oi_Fibre.ROW_ID = TypePorta.order_item_id and TypePorta.ATTR_NAME ='type portabilité' left outer join S_ORDER_ITEM_XA operateurCedant on oi_PortaOBL.ROW_ID = operateurCedant.order_item_id and operateurCedant.ATTR_NAME ='Opérateur cédant' left outer join S_ORDER_ITEM_XA NdiOblTiers on oi_PortaOBL.ROW_ID = NdiOblTiers.order_item_id and NdiOblTiers.ATTR_NAME ='NDI OBL tiers' where o.ROW_Id = '1-34BUN6Z'
Partager