sql – 从GString转义点

我想学习如何在GString中转义点,所以groovy(1.8)不会将它视为sql.execute中变量的一部分.我有以下代码:

  Map<String, String> dbSettings = [schemaName:"testSchema"];

  String myDbPrefix = dbSetting.schemaName + ".";

  sql.execute "DELETE FROM ${myDbPrefix}myTable"

我收到了这个错误:

Ignoring groovy.lang.MissingPropertyException: No such property: myTable for class: java.lang.String 

清楚地表明.被解释为变量${myDbPrefix}的一部分.

最佳答案 逃避嵌入变量有帮助吗?

     sql.execute "DELETE FROM ${Sql.expand myDbPrefix}myTable"
点赞