Bonjour.
Je viens ici demander un peu d'aide, car je ne trouve pas la solution à mon besoin.
je dois faire une requête dans un script pl/sql avec une condition like sur un paramètre (contenant une chaîne de caractères) passé par un script bash.
J'ai besoin d'encadrer la valeur de ce paramètre de wilcards %.
J'ignore comment faire en sorte que mon LIKE ne prenne pas en compte ces wilcards.

Voici mon script pl/sql :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
declare
    external_id varchar2(30) := '&1' ;
begin
    select * from T_TABLE where ID like '%"'||external_id||'"%' ;
end;
Qui me ramène l'erreur suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
Erreur commençant à la ligne: 1 de la commande -
declare
    external_id varchar2(30) := 'Ulysse_31' ;
begin
    select * from T_TABLE where ID like '%"'||external_id||'"%' ;
end;
Rapport d'erreur -
ORA-06550: Ligne 4, colonne 5 :
PLS-00428: une clause INTO est attendue dans cette instruction SELECT
06550. 00000 -  "line %s, column %s:\n%s"
*Cause:    Usually a PL/SQL compilation error.
*Action:
Je débute complètement.
Merci à tous ceux qui voudront bien m'aider.