Bonjour,
Comment je peux évaluer la valeur d'une variable dans un script PL/SQL ??
par exemple :
DECLARE
LC$Vers VARCHAR2(20) := '''21'',''22''';
BEGIN
-- LC$Vers ==> '21','22'
select * from table
where var IN (LC$Vers);
END;
Merci
Version imprimable
Bonjour,
Comment je peux évaluer la valeur d'une variable dans un script PL/SQL ??
par exemple :
DECLARE
LC$Vers VARCHAR2(20) := '''21'',''22''';
BEGIN
-- LC$Vers ==> '21','22'
select * from table
where var IN (LC$Vers);
END;
Merci
En utilisant du sql dynamique (cf execute immediate ou les ref cursor)
en fait je dois utiliser ma requete select via un curseur et donc je ne peux pas utiliser la commande "execute immediate" :
DECLARE
LC$Vers VARCHAR2(20) := '''21'',''22''';
CURSOR C1 IS
select * from table
where var IN (LC$Vers);
BEGIN
-- LC$Vers ==> '21','22'
....
END;
merci
Avec instr c'est plus facile.
Une recherche sur le forum devrait donner le code.
Avec instr :
Code:
1
2 select * from table where instr(LC$Vers, var) != 0;
bien penser à entourer les variables et colonnes par des séparateurs
(afin que 1 ne soit pas pris dans 11,12) => INSTR(',11,12,', ',1,') > 0
merci à vous,, ça marche très bien avec instr();