create or replace trigger InsertEdcTerminal
after INSERT on edc_terminal
FOR EACH ROW
DECLARE
merchantId char(15);
terminalId char(8);
uservalue char(6) ;
updatedate char(8);
updatetime char(6);
v_cardtype Merchant_Card.Card_Type%TYPE;
v_cardstate merchant_card.card_stat%TYPE;
v_banktype merchant_card.bank_type%TYPE;
BEGIN
merchantid:=:new.MERCHANT_ID;
terminalId:=:new.TERMINAL_ID;
uservalue:=:new.UPDATE_OPER;
updatedate:=:new.UPDATE_DATE;
updatetime:=:new.UPDATE_TIME;
insert into pos_key_base(merchant_id,terminal_id,mac_flag,safe_flag,change_mode)values(merchantId,terminalId,'0','0','2');
insert into edc_trans(merchant_id,terminal_id,trans_bitmap,update_oper,update_date,update_time)values(merchantId,terminalId,'111111111110111111000111111111',uservalue,updatedate,updatetime);
DECLARE
CURSOR c_emp IS SELECT Card_Type,card_stat,bank_type FROM Merchant_Card where MERCHANT_ID=merchantId;
BEGIN
OPEN c_emp;
LOOP
FETCH c_emp INTO v_cardtype,v_cardstate,v_banktype;
EXIT WHEN c_emp%NOTFOUND;
insert into edc_card(merchant_id,terminal_id,card_type,bank_type,card_stat,update_oper,update_date,update_time)
values(merchantId,terminalId,v_cardtype,v_banktype,v_cardstate,uservalue,updatedate,updatetime);
END LOOP;
CLOSE c_emp;
END;
end;