Ce n'est pas ici qu'on fait appelle aux variables de liaison, c'est dans le execute immediate :
http://sheikyerbouti.developpez.com/execute_immediate/
Maintenant le code que vous avez écrit tout à l'heure :
Vous pouvez je pense écrire directement l'ordre dans votre procédure :Code:
1
2
3
4
5 requete := 'INSERT INTO TARIF(C_ID_TARIF, C_ID_INTERVENTION, C_TYP_TARIF, M_FORFAIT, M_PRIX_UNIT, D_DEB_VALIDITE, D_FIN_VALIDITE, ' || 'D_CREATION, C_UT_CREATION, D_MAJ, C_UT_MAJ, C_ID_LG_PRESTATION, C_ID_PRESTATION) ' || 'VALUES('||m_tarif||','||p_intervention||',''2'',0,'||p_montant||',''01/01/'||p_annee||''',''31/12/'||p_annee||''',''03/12/2009'',''MOA'',''03/12/2009'',''MOA'', ' || code_lp||','||code_prestation||')'; EXECUTE IMMEDIATE requete;
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 -- n'oubliez pas de déclarer ces deux variables vld_deb_validite := to_date('01/01/' || p_annee, 'dd/mm/yyyy'); vld_fin_validite := to_date('31/12/' || p_annee, 'dd/mm/yyyy'); INSERT INTO TARIF ( C_ID_TARIF , C_ID_INTERVENTION , C_TYP_TARIF , M_FORFAIT , M_PRIX_UNIT , D_DEB_VALIDITE , D_FIN_VALIDITE , D_CREATION , C_UT_CREATION, D_MAJ , C_UT_MAJ , C_ID_LG_PRESTATION, C_ID_PRESTATION ) VALUES ( m_tarif , p_intervention , '2' , 0 , p_montant , vld_deb_validite , vld_fin_validite , to_date('03/12/2009', 'dd/mm/yyyy'), 'MOA' , to_date('03/12/2009', 'dd/mm/yyyy') , 'MOA' , code_lp , code_prestation );