Utilisation des "bin variable"
Bonjour dans un SQL dynamique j'utilise le code suivant qui ne fonctionne pas :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| wardynqr :=
' select floor(rank()over(order by num_f)/:wval_tranche)tranche,c.* '||
' from table1 c '||
' where num_soc = :wvaleur '||
' and cpt_typ in (select cod_tuple1 '||
' from pfaccau_fct '||
' where cod_tab = :C_PRUCRE '||
' and cod_tuple2 = :C_AR) '||
' order by NUM_F, CPT_NUM_SEQ' ||
' )'
execute immediate wardynqr
bulk collect into col_cpt using wvaleur, C_PRUCRE, C_AR,wval_tranche; |
cependant en remplacant wval_tranche par sa valeur cela fonctionne :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| wardynqr :=
' select floor(rank()over(order by num_f)/'&wval_tranche&')tranche,c.* '||
' from table1 c '||
' where num_soc = :wvaleur '||
' and cpt_typ in (select cod_tuple1 '||
' from pfaccau_fct '||
' where cod_tab = :C_PRUCRE '||
' and cod_tuple2 = :C_AR) '||
' order by NUM_F, CPT_NUM_SEQ' ||
' )'
execute immediate wardynqr
bulk collect into col_cpt using wvaleur, C_PRUCRE, C_AR,wval_tranche; |
Les Bind variables ne peuvent être utilisées que pour des conditions apres un signe = != >< etc... On ne peut pas les utilisées pour le calcul d'un champs ?