У меня есть файл build.xml, подобный этому:
...
<target name="CreateStoredProcedures">
<sql
driver="${sql.driver}"
url="${sql.db}"
userid="${sql.user}"
password="${sql.pwd}"
autocommit="true"
classpath="${classpath}"
delimiter = "$$"
>
<connectionProperty name="useSSL" value="false" />
<path>
<fileset dir=".">
<include name= "4*.sql"/>
</fileset>
</path>
</sql>
</target>
...
и этот код SQL:
DROP FUNCTION IF EXISTS "sp_create_usuario";
CREATE OR REPLACE FUNCTION "sp_create_usuario"(
"in_nombre" VARCHAR(45) ,
"in_tipo" tipo
)
RETURNS TABLE (last_id INT8) AS $$
INSERT INTO "usuario"
(
"nombre",
"tipo"
)
VALUES
(
"in_nombre",
"in_tipo"
) RETURNING "id";
$$ LANGUAGE SQL;
, поэтому, когда я запускаю build.xml с ANT, я получаю ошибкукак «синтаксическая ошибка в конце записи» или «синтаксическая ошибка рядом с чем-то ...», в зависимости от того, где и что я положил в разделители.
Я сделал это с MySQL, но я не могу сPostgreSQL: (
Как мне выполнить хранимые процедуры с помощью ant и postgres?