0
dbdeploy를 통해 포스트그레스에 트리거를 만들려고 할 때 다음 오류가 발생합니다. 문제는 dbdeploy보다는 postgres jdbc 문제 인 것 같습니다. sql 문은 SQL 블록의 첫 번째 세미콜론 다음에 무시됩니다. 이 문제를 극복하는 데 도움이 될만한 점이 있습니다. (pgAdmin를 통해 완벽하게 작동)postgres db에 대해 dbdeploy를 통해 트리거를 만들 수 없습니다.
는 SQL 문자열 :
CREATE FUNCTION trigger_history() RETURNS trigger LANGUAGE plpgsql AS $$ BEGIN INSERT INTO table_history(col_one, col_two) VALUES(NEW.col_one, OLD.col_two); RETURN NEW; END $$;
오류 :
Caused by: org.postgresql.util.PSQLException: ERROR: unterminated dollar-quoted string at or near "$ BEGIN INSERT INTO table_history(col_one, col_two) VALUES(NEW.col_one, OLD.col_two)" Position: 97 at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2161) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1890) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)