informix의 트리거를 db2형태로 바꾸는중입니다.
test 테이블의 policy필드는 integer형입니다.
test2의 policy는 char(2) 형태 입니다.
트리거는
create trigger trg_test after insert on
certs referencing new as new_row for each row MODE DB2SQL
BEGIN ATOMIC
insert into test2 (policy) values (RPAD ('0' ,2 ,new_row.policy ));
END!
여기서 RPAD는 db2에서 제공되지 않는다 하기에 인터넷을 뒤져
CREATE FUNCTION RPAD(pad VARCHAR(1), len INTEGER, arg VARCHAR(4000))
RETURNS VARCHAR(4000)
CONTAINS SQL DETERMINISTIC NO EXTERNAL ACTION
RETURN arg || REPEAT(pad, len - LENGTH(arg))
을 찾았습니다.
그러나 읽어오는 test의 policy는 integer형이고 test2의 policy는 char(02)라 에러가 나네요. 방법이 없을까요?? integer형을 char로 변환해야하는것인지...
흠... 방법좀 부탁드릴께요..ㅠㅠ
|