PostgreSQL-Funktionsdefinition in SQuirreL: nicht abgeschlossene Zeichenfolge in Dollar-Anführungszeichen

Ich habe die folgende Funktionsdefinition für eine PostgreSQL 9.3.4-Datenbank:

CREATE OR REPLACE FUNCTION update_modified_timestamp()  
RETURNS TRIGGER AS $
  BEGIN
    NEW.modified_at = now();
    RETURN NEW; 
  END;
$ LANGUAGE plpgsql;

Wenn ich versuche, dies in SQuirreL (3.5.3 oder 3.6) auszuführen, wird der folgende Fehler angezeigt:

Error: ERROR: unterminated dollar-quoted string at or near "$
 BEGIN
     NEW.modified_at = now()"
  Position: 77
SQLState:  42601
ErrorCode: 0

So weit ich das gelernt habekann durch einfache Anführungszeichen gemildert werden, um den Funktionskörper wie folgt abzugrenzen:

CREATE OR REPLACE FUNCTION update_modified_timestamp()  
RETURNS TRIGGER AS '
  BEGIN
    NEW.modified_at = now();
    RETURN NEW; 
  END;
' LANGUAGE plpgsql;

Still ich möchte wissen, ob dies nicht anders gelöst werden kann - ich denke, es muss möglich sein, daWeg fliege kann dieses Skript ausführen und verwendet genau den JDBC-Treiber, der in SQuirreL konfiguriert ist.

Aktualisieren @ein Pferd ohne Nam stellte fest, dass dieser Fehler nichts mit dem JDBC-Treiber zu tun hat, sondern damit, wie SQuirreL die SQL-Anweisung analysiert und in Blöcke aufteilt, bevor sie an die Datenbank gesendet wird. Somit lautet die verbleibende Frage:Kann SQuirreL eine unformatierte / ungeparste Anfrage senden? Ich habe ziemlich viel gesucht und konnte keinen Weg finden, das zu tun.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage