2016-07-06 9 views
0

Hier ist meine Entwicklung 1.sqlWiedergabe-Slick Postgres Evolution für erstellen Funktion

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

Aber wenn ich diese Entwicklung gelten, spielen-Slick ist mir diese Fehlermeldung zu geben

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: 

Jede Idee, was los ist auf? Ich könnte diese Funktion auf Postgres-Konsole direkt

Antwort

1

Hallo Steve haben Sie Ihr Problem lösen?

Wenn Sie Spiele-Handbuch über Entwicklungen überprüfen finden Sie wie folgt vor:

Wiedergabe teilt Ihre SQL-Dateien in eine Reihe von Semikolon getrennte Aussagen vor der Ausführung sie one-by-one für die Datenbank. So Wenn Sie ein Semikolon innerhalb einer Anweisung verwenden müssen, es durch Eingeben entkommen ;; Anstatt von ;. Zum Beispiel INSERT INTO punctuation(name, character) VALUES ('semicolon', ';;');.

Ihr Skript sollte geändert werden:

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