模式名称中的破折号-Groovy SQL查询错误

时间:2018-11-28 12:21:33

标签: java sql postgresql groovy

此处是一个快速的常规语法问题:

我正在使用Groovy SQL功能(Groovy 2.4)

我的模式包含短划线,例如"SAMPLE-SCHEMA",而我的表称为"SAMPLE_TABLE"

当我运行以下命令时,我发现该关系不存在。 我正在使用正确的驱动程序来运行Postgres 9.6。

def sql = Sql.newInstance(...)
sql.eachRow('SELECT SAMPLE_COLUMN FROM \"SAMPLE-SCHEMA\".SAMPLE_TABLE') { 
  row -> // do something with row here
}

如果我查询另一个没有破折号的架构,它将无法正常工作。

异常消息是:

Caught: org.postgresql.util.PSQLException: ERROR: relation "SAMPLE-SCHEMA.SAMPLE_TABLE" does not exist

如何调整查询以使其正常工作?谢谢

1 个答案:

答案 0 :(得分:1)

好吧,我找到了答案,postgresql中的模式区分大小写,所以我误将其称为“ SAMPLE-SCHEMA”,而应该是“ sample-schema”。

我不会删除此问题,因为它可能会对某人有所帮助