SQl: Create Index n'accepte pas de variables

Bonjour

le code suivant fonctionne très bien:
<code 4D>
Begin SQL
USE REMOTE DATABASE DATAFILE :[$QS_VCS_COMP_DB_PATH] ;
CREATE INDEX setup_moduleName ON SETUP (MOD_NAME);
End SQL
</code 4D>

mais si je fais:

<code 4D>
Begin SQL
USE REMOTE DATABASE DATAFILE :[$QS_VCS_COMP_DB_PATH] ;
CREATE INDEX :$indexName ON :$tableName_t (:$columnName_t);
End SQL
</code 4D>

ou

<code 4D>
Begin SQL
USE REMOTE DATABASE DATAFILE :[$QS_VCS_COMP_DB_PATH] ;
CREATE INDEX :[$indexName] ON :[$tableName_t] (:[$columnName_t]);
End SQL
</code 4D>

j’ai une erreur 1301 durant l’exécution:

:

Generic parsing error. Parsing failed in or around the following
substring interval - ( 8, 14 ) - …TE INDEX :[$i…

Error code: 1301 (SQLS)
Generic parsing error. Parsing failed in or around the following
substring interval - ( 8, 14 ) - …TE INDEX :[$i…
component: ‘SQLS’
task -5, name: ‘P_7’

Bug ?

Toutes les autres syntaxes SQL ne me posent aucun problème, mais celle-ci oui :cry:

C’est la même https://forums.4d.com/Post/FR/33469108/1/33472350#33469109question qu’ici>, non ?

Oui, sauf que précédemment, j’étais plus en mode : est-ce possible depuis un composant, alors que là, c’est plutôt, ce sent méchamment le bug :wink:

Le composant n’y est pour rien, c’est dans les gènes de 4D SQL :
https://forums.4d.com/Post/FR/18728433/1/18728434#18728434
Tu as des tourne autour avec SQL EXECUTE IMMEDIATE, voir les liens cités.

[edit]hum, c’est plutôt EXECUTE IMMEDIATE…
exemple https://forums.4d.com/Post/FR/28923817/1/28925898#28925898
[/edit]

Si tu encadres tes variables par des crochets, cela fonctionne, sauf pour le CREATE INDEX. Je fais tout comme cela sans jamais avoir eu besoin d’utiliser EXECUTE IMMEDIATE, c’est pour cela que cela me dérange un peu (voire beaucoup).