ScalikeJDBC: Как сделать выбор или вставить запрос в базу данных Postgresql? - PullRequest
1 голос
/ 07 марта 2019

У меня есть следующий код SQL, который я хотел бы выполнить для базы данных Postgresql:

    sql"""WITH s AS (
             SELECT id
             FROM $tableName
             WHERE $columnName = $value
         ), i AS (
             INSERT INTO $tableName ($columnName)
            SELECT $value
            WHERE NOT EXISTS (
                SELECT id
                FROM $tableName
                WHERE $columnName = $value
            )
            RETURNING id
         )
         SELECT id
         FROM i
         UNION ALL
         SELECT id
         FROM s
      """

Если я использую update или updateAndRetrieveGeneratedKey в пределах localTx, я получаю org.postgresql.util.PSQLException: A result was returned when none was expected..Если я использую single в readOnly, я получаю что-то вроде ... cannot perform an insert in a read only query.Как правильно это сделать?

...