2017-10-21 72 views
0

Dans Groovy, je souhaite pouvoir exécuter une requête tronquée dynamiquement. Cependant, je sais que ce qui suit ne fonctionnera pas car ${s}.${x} doit être interpolé avant d'être envoyé au sql.execute. Mais quelle est la méthode la meilleure et la plus sûre pour pouvoir exécuter ce qui suit?Impossible d'exécuter dynamiquement la requête SQL

for (String s : schema) { 
    for (String x : table) { 
    try { 
     sql.execute "TRUNCATE ${s}.${x}" ; 
    } catch (Exception e) { 
     println e 
    } 
    } 
} 
+3

Ce que vous fait penser $ {s}. $ {X} ne sont pas interpolées avant d'être envoyé à sql.execute()? Que se passe-t-il lorsque vous exécutez ce code? –

Répondre

0
sql.execute("TRUNCATE ${s}.${x}".toString())