otj-pg-embedded> Embedded PostgreSQL> ОШИБКА: синтаксическая ошибка в строке "PROCEDURE" или рядом с ней - PullRequest
0 голосов
/ 06 августа 2020

У меня проблема, когда я пытаюсь создать ПРОЦЕДУРУ, используя Встроенный Postgres

Остальное, все работает, кроме тех случаев, когда я пытаюсь создать ПРОЦЕДУРУ Пожалуйста найдите код ниже.

EmbeddedPostgres pg = EmbeddedPostgres.builder().start();
Statement dbSetup = pg.getDatabase("postgres", "postgres").getConnection().createStatement();
dbSetup.execute("create database portal;");
dbSetup.execute("CREATE USER testadmin WITH PASSWORD 'testadmin123' CREATEDB;");
dbSetup.execute("ALTER USER testadmin WITH SUPERUSER;");
dbSetup.execute("ALTER ROLE testadmin SUPERUSER;");

String procedure = "CREATE PROCEDURE insert_data(a integer, b integer)\n" +
                   "LANGUAGE SQL\n" +
                   "AS $$\n" +
                  "INSERT INTO tbl VALUES (a);\n" +
                  "INSERT INTO tbl VALUES (b);\n" +
                  "$$;";

ResultSet rsnew = pg.getDatabase("testadmin", "portal").getConnection().createStatement().executeQuery(procedure);

Столкнувшись с приведенным ниже исключением

org.postgresql.util.PSQLException: ERROR: syntax error at or near "PROCEDURE"
  Position: 8
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2440)
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2183)
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:308)
    at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:441)
    at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:365)
    at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:307)
    at org.postgresql.jdbc.PgStatement.executeCachedSql(PgStatement.java:293)
    at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:270)
    at org.postgresql.jdbc.PgStatement.executeQuery(PgStatement.java:224)
    at com.myproject.embeddedpostgres.TestPostgreSQL.main(TestPostgreSQL.java:62)

Кто-нибудь может помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...