У меня есть эта ошибка для моего кода:
вставить в Giocatore (ID_giocatore, имя пользователя) Значения ('4', 'pluto')
Сообщить об ошибке -
ORA-01422: точная выборка возвращает больше запрошенного числа строк
ORA-06512: в "MONOPOLY3.INSERISCI_LOG", строка 6
ORA-06512: на "MONOPOLY3.T2", линия 2
ORA-04088: ошибка во время выполнения триггера 'MONOPOLY3.T2'
мы хотим сохранить значение, вставленное на вкладке Giocatore (ID_giocatore) в
переменная "a", чтобы увидеть это значение на вкладке log_giocatore в столбце id_giocatore log_giocatore.
Это процедура:
create or replace PROCEDURE inserisci_log
AS
a integer ;
BEGIN
SELECT ID_giocatore
INTO a
FROM (select ID_giocatore from Giocatore order by ID_GIOCATORE desc)
where rownum <2;
INSERT INTO Log_giocatore ( ID_mossa , ID_partita , ID_giocatore , ID_patrimonio ,ID_proprietà , ID_turno)
VALUES ('1' , '1' , a , '1' ,'1','1');
END inserisci_log;
И это триггер, который вызывает процедуру:
create or replace TRIGGER t2
AFTER INSERT OR UPDATE ON Giocatore
begin
inserisci_log;
end;