----日志
CREATE TABLE MEMORY_TAB_CARD
(
c_card varchar(50) not null primary key,
g_id integer not null,
user_id integer not null
)
---------------卡表----------------------------CREATE TABLE TAB_CARD
(
C_CARD VARCHAR(50) NOT NULL PRIMARY KEY,--卡游戏id
G_ID INTEGER NOT NULL,--卡号
USER_ID INTEGER--用户编号
)----------卡游戏表----------------------------------TAB_GAMECRAD
CREATE TABLE TAB_GAMECRAD
(
G_ID INTEGER NOT NULL PRIMARY KEY, --卡游戏id
G_PARTNERS VARCHAR(50) NOT NULL,--卡游戏合作商名称
G_CREATETIME date NOT NULL,--卡游戏创建时间
G_MEMO VARCHAR(50) NOT NULL--卡游戏备注
)
卡游戏为主表,卡表为外建表,有主外建关系在删除卡表的某条数据时,删除卡游戏里相关记录,并且向日志插入一条记录
求助!!!!
CREATE TABLE MEMORY_TAB_CARD
(
c_card varchar(50) not null primary key,
g_id integer not null,
user_id integer not null
)
---------------卡表----------------------------CREATE TABLE TAB_CARD
(
C_CARD VARCHAR(50) NOT NULL PRIMARY KEY,--卡游戏id
G_ID INTEGER NOT NULL,--卡号
USER_ID INTEGER--用户编号
)----------卡游戏表----------------------------------TAB_GAMECRAD
CREATE TABLE TAB_GAMECRAD
(
G_ID INTEGER NOT NULL PRIMARY KEY, --卡游戏id
G_PARTNERS VARCHAR(50) NOT NULL,--卡游戏合作商名称
G_CREATETIME date NOT NULL,--卡游戏创建时间
G_MEMO VARCHAR(50) NOT NULL--卡游戏备注
)
卡游戏为主表,卡表为外建表,有主外建关系在删除卡表的某条数据时,删除卡游戏里相关记录,并且向日志插入一条记录
求助!!!!
after delete on tab_card for each row
declare
begin
insert into memory_tab_card(c_card,g_id,user_id)
values(:old.c_card,:old.g_id,:old.user_id);
end log_trig;
/--因为你的tab_card和tab_gamecrad有主外键关联,因此你可以在他们上边建立级联删除.
--当删除tab_gamecrad表的数据是,tab_card表中的相对于数据也会被删除。
--所以就在tab_card表上建立一个触发器,当删除该表上一条记录时,就触发触发器写日志到memory_tab_card表中。
Create trigger TAB_CARD_trigger
after delete
On TAB_CARD
for each row
begin
delete TAB_GAMECRAD where G_ID=:old.G_ID;
insert into MEMORY_TAB_CARD values(:old.c_card,:old.G_ID,:old.USER_ID);
commit;
end;