Ошибка создания процедуры из-за точек с запятой
У меня есть база данных Postgres, к которой я подключаюсь с помощью SQL Squirrel (которая под капотом использует драйвер jdbc postgres).
Когда я запускаю следующий оператор (который является действительным SQL, скопированный непосредственно с этой страницы)
CREATE PROCEDURE insert_data(a integer, b integer)
LANGUAGE SQL
AS $$
INSERT INTO tbl VALUES (a);
INSERT INTO tbl VALUES (b);
$$;
CALL insert_data(1, 2);
Я получаю следующую ошибку
Error: Unterminated dollar quote started at position 67 in SQL CREATE PROCEDURE insert_data(a integer, b integer)
LANGUAGE SQL
AS $$
INSERT INTO tbl VALUES (a). Expected terminating $$
SQLState: 42601
ErrorCode: 0
Error occurred in:
CREATE PROCEDURE insert_data(a integer, b integer)
LANGUAGE SQL
AS $$
INSERT INTO tbl VALUES (a)
Кажется, что где-то по пути первая точка с запятой интерпретируется как конец утверждения.
Есть ли способ избежать точки с запятой, чтобы процедура создавалась правильно?
Пожалуйста, не предлагайте использовать psql, я хочу продолжать использовать SQL Squirrel.