J'essaie d'utiliser Proc SQL et un case-statement pour tester une condition et ajouter un index. Cependant, je ne parviens pas à obtenir le case
- where
ne fonctionne pas, même si la syntaxe semble correspondre aux exemples que j'ai vus. En utilisant le code ci-dessous, j'obtiens l'erreur suivante :
ERREUR 22-322 : Erreur de syntaxe, attend l'un des éléments suivants : un nom, une chaîne entre guillemets, une constante numérique, une constante temporelle, une valeur manquante, (, +, -, BTRIM, CALCULATED, CASE, EXISTS, INPU ^, ~.
Proc SQL;
Create table table_ix AS
Select t1.*,
Case
Where UPCASE(t2.test) Contains UPCASE(TRIM(t2.key)) Then 1
Else 0
end as index
From Table1 AS t1, Table2 AS t2;
QUIT;
D'après l'aide, ma déclaration correspond aux exemples. Il s'agit probablement d'un problème simple à résoudre et d'un oubli mineur de ma part, mais je n'arrive pas à le faire fonctionner (par exemple, j'ai essayé de faire correspondre une seule chaîne de caractères pour voir si la référence à une table séparée était le problème, par exemple...). Contains UPCASE("Teststring")
....
Des suggestions ?