Как исправить: В базе данных игры-монополии, если turn_number = 0 (начальный ход), установите сумму банковского счета = 3000; - PullRequest
0 голосов
/ 05 февраля 2019

инициирует, что в базе данных игры-монополии, если 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

1 Ответ

0 голосов
/ 05 февраля 2019

, если вы хотите использовать триггер:

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;
...