При попытке запуска PL/PgSQL через драйвер JDBC (PostGreSQL-9.4.1211.jre7.jar; с использованием ANT) я получаю следующее сообщение об ошибке: Ошибка синтаксиса или вблизи "$"PostgreSQL JDBC выполнения PL/PgSQL
: ERRORЕсть ли способ исправить это, установив свойства JDBC или изменив запрос PL/pgSQL?
запрос:
DO $$
BEGIN
CREATE SEQUENCE id_sequence_SEQ OWNED BY id_sequence.id;
EXCEPTION WHEN duplicate_table
THEN
END
$$
LANGUAGE plpgsql;
ошибка:
org.postgresql.util.PSQLException: ERROR: syntax error at or near "$"
Position: 5
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2458)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2158)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:291)
at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:432)
at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:358)
at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:305)
at org.postgresql.jdbc.PgStatement.executeCachedSql(PgStatement.java:291)
at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:269)
at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:265)
Можете ли вы не просто выполнить CREATE SEQUENCE, а затем уловить любое потенциальное исключение со стороны Java? –
Этот код на самом деле не вызывается из Java. Это задача ANT перед установкой. – user1854959