Определение функции PostgreSQL в SQuirreL: неопределенная строка в кавычках
У меня есть следующее определение функции для базы данных PostgreSQL 9.3.4:
CREATE OR REPLACE FUNCTION update_modified_timestamp()
RETURNS TRIGGER AS $
BEGIN
NEW.modified_at = now();
RETURN NEW;
END;
$ LANGUAGE plpgsql;
Когда я пытаюсь выполнить это в SQuirreL (3.5.3 или 3.6), я получаю следующую ошибку:
Error: ERROR: unterminated dollar-quoted string at or near "$
BEGIN
NEW.modified_at = now()"
Position: 77
SQLState: 42601
ErrorCode: 0
До сих пор я узнал этоможно смягчить, используя одинарные кавычки разделить тело функции следующим образом:
CREATE OR REPLACE FUNCTION update_modified_timestamp()
RETURNS TRIGGER AS '
BEGIN
NEW.modified_at = now();
RETURN NEW;
END;
' LANGUAGE plpgsql;
Тем не менее, я хотел бы знать, если это не может быть решено иначе - я думаю, что это должно быть возможно, так какпролетный путь может выполнить этот сценарий, и он использует тот же драйвер JDBC, который настроен в SQuirreL.
Обновить: @a_horse_with_no_name отметил, что эта ошибка не имеет ничего общего с драйвером JDBC, но с тем, как SQuirreL анализирует оператор SQL и разбивает его на куски перед отправкой в базу данных. Таким образом, оставшийся вопрос:Может ли SQuirreL отправить запрос в сыром / непарсированном виде? Я искал совсем немного, не мог найти способ сделать это.