小编Anu*_*nuj的帖子

错误:未终止的引用字符串在或附近

在使用ANT执行下面显示的触发器代码时,我收到错误

org.postgresql.util.PSQLException: ERROR: unterminated quoted string at or near "' DECLARE timeout integer"
Position: 57
Run Code Online (Sandbox Code Playgroud)

我能够通过PGADmin(由postgres提供)和命令行实用程序"psql"成功执行以下代码并添加触发器功能但是在通过ANT执行时它每次都会失败

BEGIN TRANSACTION;

CREATE OR REPLACE FUNCTION sweeper() RETURNS trigger as '
    DECLARE
    timeout integer;
    BEGIN
    timeout = 30 * 24 * 60 * 60 ;
        DELETE FROM diagnosticdata WHERE current_timestamp - teststarttime  > (timeout * ''1 sec''::interval);
        return NEW;
    END;
' LANGUAGE 'plpgsql';

-- Trigger: sweep on diagnosticdata

CREATE TRIGGER sweep
  AFTER INSERT
  ON diagnosticdata
  FOR EACH ROW
  EXECUTE PROCEDURE sweeper();

END;
Run Code Online (Sandbox Code Playgroud)

ant postgresql triggers plpgsql

40
推荐指数
3
解决办法
6万
查看次数

标签 统计

ant ×1

plpgsql ×1

postgresql ×1

triggers ×1