2016-07-06 2 views
0

Вот моя эволюция 1.sqlPlay-скользкий Postgres эволюции для создания функции

CREATE OR REPLACE FUNCTION update_changetimestamp_column() 
RETURNS TRIGGER AS $$ 
BEGIN 
    NEW.changetimestamp = now(); 
    RETURN NEW; 
END; 
$$ language 'plpgsql'; 

Но когда я применяю эту эволюцию, плей-скользкий дает мне эту ошибку

we got the following error: ERROR: unterminated dollar-quoted string at or near "$$ BEGIN NEW.changetimestamp = now()" Position: 79 [ERROR:0, SQLSTATE:42601], while trying to run this SQL script: 

Любая идея, что происходит на? Я мог бы создать эту функцию непосредственно на консоли postgres.

ответ

1

Привет, Стив, вы решили проблему?

Если свериться с руководством Play! О эволюций вы найдете следующее:

Play разбивает ваши .SQL файлы в серию разделенных точкой с запятой отчетности перед выполнением им один-на-один с базой данных. Итак, , если вам нужно использовать точку с запятой в инструкции, сбегите ее на enter ;; вместо ;. Например, INSERT INTO punctuation(name, character) VALUES ('semicolon', ';;');.

Ваш сценарий должен быть изменен:

CREATE OR REPLACE FUNCTION update_changetimestamp_column() 
RETURNS TRIGGER AS $$ 
BEGIN 
    NEW.changetimestamp = now();; 
    RETURN NEW;; 
END;; 
$$ language 'plpgsql'; 
Смежные вопросы