알티베이스에서 트리거생성시 문제입니다.. 0 3 2,815

by 성회장 [2015.06.24 18:13:50]


CREATE TRIGGER TRIGGER_BIGDATA_TWEET_FILTER
BEFORE INSERT 
ON BIGDATA_TWEET
FOR EACH ROW 
AS
BEGIN
    FOR _VALUE IN SELECT PRHB_VALUE FROM BIGDATA_TWEET_WORD_FILTER WHERE TYPE = 'username'

    LOOP
        IF _VALUE = NEW.USER_NAME THEN
            INSERT INTO BIGDATA_TWEET_FILTER_APPLY (CREATED_DTTM, "text", USER_NAME, FILTER_TYPE, FILTER_WORD) VALUES (NEW.CREATED_DTTM, NEW."text", NEW.USER_NAME, 'U', _VALUE);
        
            RETURN NULL;
        END IF;
    END LOOP;


    FOR _VALUE in SELECT PRHB_VALUE FROM BIGDATA_TWEET_WORD_FILTER WHERE TYPE = 'word'

    LOOP
        _POS = position(_VALUE in NEW."text");

        IF _POS > 0 THEN
            INSERT INTO BIGDATA_TWEET_FILTER_APPLY (CREATED_DTTM, TEXT, USER_NAME, FILTER_TYPE, FILTER_WORD) VALUES (NEW.CREATED_DTTM, NEW."text", NEW.USER_NAME, 'W',  _VALUE);
        
            RETURN NULL;
        END IF;

    END LOOP;

    RETURN NEW;
END
/

 

 

일단 7번째라인에서 #200705, SQL syntax error라고 나오는데...

원인을 도저히 모르겠네요..도와주시면감사하겠습니다~

by 개발뉴비 [2015.06.25 13:31:58]
/* 알티베이스는 잘 모르지만... 괄호가 들어가야 하는게 아닌가요? */
FOR _VALUE IN (SELECT PRHB_VALUE FROM BIGDATA_TWEET_WORD_FILTER WHERE TYPE = 'username')

 


by 성회장 [2015.06.25 13:54:57]

답변감사합니다 ㅜ ㅜ 사실 괄호문제는해결했으나

_VALUE에 값이 안들어가네여 ㅠㅠ


by 마농 [2015.06.25 14:00:04]

_VALUE 는 커서명이구요. 컬럼명을 사용해야 할 듯 한데요.

_VALUE.PRHV_VALUE

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입