하하하 그랬군요.
자주 겪는 에러인데, 작업 환경이 당연히 리눅스라고 생각하고 있었습니다.
다음 버전에서는 이 문제를 해결해 주겠다고 하더군요. (버전이 7.1에서는 해결되었다고 하니 만약 7.1 베타를 가지고 테스트 한다면 제대로 동작할 것 같습니다.)
>>궁금한자 님께서 쓰시길<<
:: 결국 하루를 헤맨 끝에 제가 질문하고 제가 답하게 되는군요...
:: 울트라에디터에서 작업후, ftp로 파일을 올리는데,
:: dos포맷(CR/LF)를 unix포맷(LF)로 변환을 안시켜줘서
:: 나타난 에러네요....
:: 원래 NT환경에서 작업하다가 linux로 옮겨가다가 보니 힘든게
:: 이만저만이 아니군요...혹, 저와 같은 고생을 하지 말라고 답변자의
:: 원본링크를 걸어둡니다...
:: 다음은 답변자의 원본링크입니다...
:: http://www.postgresql.org/mhonarc/pgsql/general/2001/03/msg00670.html
::
:: >>궁금한자4 님께서 쓰시길<<
::
:: :: postgres 7.0.2 /7.0.3 모두 트리거 안되더군요...
:: :: 새로깔고 몇번을 해봤지만..안되는 이유가 뭔지...
:: :: 하라는데로 plpgsql등록을 몇번을 해보고, 예제 트리거 그대로
:: :: 카피하여 시험해봐도 안되더군요..같은 에러만 남기고...
:: :: 트리거 버그인가요? 정말 죽겠군요...무슨 함수 컴파일에러라는데..
:: :: 도대체 뭐가 뭔지...
:: ::
:: :: <질문>
:: :: table A(master table) 과 table B 에 같이 동기화 되어야 하는
:: :: 필드가 있습니다..
:: :: table B의 특정한 필드(아래의 예에서 MindType필드)에 insert, update 이벤트
:: :: 시에, table A(master table)의 특정한 필드(MindType)에 항상 같은 값을
:: :: 유지하고 싶습니다...그래서 아래와 같은 트리거를 작성하였는데,
:: :: 에러가 납니다...알려주시면 고맙겠습니다...에러내용도 같이 실었습니다..
:: ::
:: :: ##############################################################
:: :: // 트리거 명 : trgSyncMindType / 함수명 : fncSyncMindType()
:: :: // 작성자 : 궁금한자
:: :: // 작성일 :
:: :: // 수정자 :
:: :: // 수정일 :
:: ::
:: :: CREATE FUNCTION fncSyncMindType() RETURNS OPAQUE
:: :: AS '
:: :: BEGIN
:: :: UPDATE Profile SET MindType=NEW.MindType WHERE PID=NEW.PID;
:: :: RETURN NEW;
:: :: END;
:: :: ' language 'plpgsql';
:: ::
:: :: CREATE TRIGGER trgSyncMindType AFTER INSERT OR UPDATE ON MSS FOR EACH ROW EXECUTE PROCEDURE f
:: ncS
:: :: yncMindType();
:: ::
:: :: ##################################################################
:: :: 에러내용은 다음과 같습니다..
:: :: insert into MSS(pid,ei_score,sn_score,tf_score,jp_score,mindtype,prefertype) values(3126462,5
:: ,8,
:: :: 6,8,'ISFJ','ISTP');
:: ::
:: :: NOTICE: plpgsql: ERROR during compile of fncsyncmindtype near line 1
:: :: "RROR: parse error at or near "
:: ::
|