LIKE, LENGTH et autres instructions.... [PL/SQL] - SQL/NoSQL - Programmation
Marsh Posté le 28-08-2003 à 16:57:16
liengy a écrit : Voilà je suis tjrs sur mon script PL/SQL... |
Montre ton code, sinon, on ne pourra pas dire grand chose je le crains ...
Marsh Posté le 28-08-2003 à 17:03:14
Code :
|
Si je ne l'avais pas mis, c que la requete SELECT autant que la requete INSERT fonctionne hors du bloc SQL....
Je ne pense donc pas que ça vienne du code...
Marsh Posté le 28-08-2003 à 17:24:35
liengy a écrit :
|
Ben au niveau du select, déjà, ça me parait pas terrible ton like '___' ... autant mettre = '___', ce que tu veux est peut être plutot like '___%', non ?
Quand au code, je ne sais pas quelle est ta version d'Oracle, mais pour parcourir un curseur, d'habitude, je commence à l'ouvrir via Open mon_curseur.
exemple :
OPEN mon_curseur;
LOOP
FETCH mon_curseur INTO variable_qui_va_bien;
EXIT WHEN curs_offre%NOTFOUND;
[des bidules à faire pendant ce temps là]
end loop;
close mon_curseur;
Mais, bon, y a sans doute des trucs que je connais pas en PL/SQL.
Marsh Posté le 28-08-2003 à 17:29:59
En faisant de la meme facon sans que ce soit qu'il est une clause where dans mon select, et avec un insert à la place du update (sur une autre table), ça fonctionne sans ouvrir mes curseur...
Mais je vais essayé avec le =, mais je croyais que le carctère '_' était réservé à l'instruction LIKE...
Marsh Posté le 28-08-2003 à 17:59:26
Le caractère '_' fonctionne bien uniquement avec l'instruction LIKE....
En revanche, j'ai bien trouvé mon pb...
Il s'agissait en fait d'un TRIM manquant...
Ce qui ne dérange pas dans une requete SQL simple, mais bien souvent dans du code....
Merci kan meme...
Marsh Posté le 28-08-2003 à 18:17:45
liengy a écrit : Le caractère '_' fonctionne bien uniquement avec l'instruction LIKE.... |
ça, ça m'etonne carément ... je bosse avec Oracle depuis 3 ans et j'ai jamais eu de problème avec le caractère '_' ... bizarre ...
Marsh Posté le 29-08-2003 à 09:31:57
tomlameche a écrit : |
J'en suis désolée.... Mais sur ma base, la requete :
Code :
|
ne renvoie aucun résultat,
tandis que celle-ci :
Code :
|
en renvoie 127....
Marsh Posté le 29-08-2003 à 09:59:30
C'est dingue ça, j'ai fait l'essai juste pour voir, et j'ai aucun problème avec '_' sous une version 8.1.7.4
Tu as quelle version d'Oracle ? ( je déteste ne pas comprendre l'origine d'une telle absurdité )
Marsh Posté le 02-09-2003 à 14:00:47
Je ne vais pas pouvoir te renseigner bcp.... Car ct pour un job d'été, et ça se terminait vendredi....
tous cee que je sais c que ct une version 8.1, mais je ne connais pas la version plus précisemment... dsl...
Marsh Posté le 11-09-2003 à 11:14:13
les caractères _ ne sont ils pas permis que sur invocation d'un LIKE ?
Pour la façon de balayer ton curseur c'est la bonne solution.
la solution donnée + haut avec Open Cursor est carrément obsolète en ORACLE 8
Marsh Posté le 11-09-2003 à 11:31:52
Citation : la solution donnée + haut avec Open Cursor est carrément obsolète en ORACLE 8 |
Merci du renseignement, j'ai pris cette habitude sous Oracle 7.3 et je n'ai jamais remis en question cette technique.
C'est clair que cette syntaxe est plus simple.
Marsh Posté le 28-08-2003 à 16:46:13
Voilà je suis tjrs sur mon script PL/SQL...
Dans celui je veux faire une requete avec un
LENGTH()
ou alors avec un
LIKE '__'
Ces requetes fonctionnent seules (en sql)...
Mais lorsque je les imbrique dans un bloc PL/SQL, elles ne ramènent aucun résultat !!!!
Est-ce que ce type d'erreur vous rapelle quelque chose ???
Ca m'arrangerait....
NB : Je suis sur une base Oracle....