解决方法:在大富翁游戏的数据库中,如果turn_number=0(开始回合),设置银行账户金额=3000;
How to fix: In a database of a monopoly game, if turn_number=0 (start turn), set bank account amount=3000;
触发在一个大富翁游戏的数据库中,如果turn_number=0(开始回合),设置银行账户金额=3000;
Create or replace trigger initial_turn
after insert on Recap_turn
for each row
when (new.turn_number=0)
declare
i integer;
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
i:=3000;
update Recap_turn
set bank_account_amount=i
where (id_turn=:new.id_turn); commit;
end;
插入后bank_account_amount保持不变,而不是改为3000
如果你想使用触发器:
CREATE OR REPLACE TRIGGER initial_turn
BEFORE INSERT ON Recap_turn
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
begin
if inserting and :new.turn_number = 0 then
:new.bank_account_amount := 3000;
end if;
end;
触发在一个大富翁游戏的数据库中,如果turn_number=0(开始回合),设置银行账户金额=3000;
Create or replace trigger initial_turn
after insert on Recap_turn
for each row
when (new.turn_number=0)
declare
i integer;
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
i:=3000;
update Recap_turn
set bank_account_amount=i
where (id_turn=:new.id_turn); commit;
end;
插入后bank_account_amount保持不变,而不是改为3000
如果你想使用触发器:
CREATE OR REPLACE TRIGGER initial_turn
BEFORE INSERT ON Recap_turn
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
begin
if inserting and :new.turn_number = 0 then
:new.bank_account_amount := 3000;
end if;
end;