代码之家  ›  专栏  ›  技术社区  ›  Mark Bramnik

架构名称中的破折号-Groovy SQL查询错误

  •  0
  • Mark Bramnik  · 技术社区  · 7 年前

    我正在使用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 回复  |  直到 7 年前
        1
  •  1
  •   Mark Bramnik    7 年前

    好的,我已经找到了答案,postgresql中的模式是区分大小写的,所以我错误地称之为“SAMPLE-schema”,它应该是“SAMPLE-schema”。

    我不会删除这个问题,因为它可能会帮助别人