0
這裏是我的問題:TRIGGERS插入同一臺 - PLSQL
我在同一個表
我改造這樣
東西放到這個我嘗試過觸發器,但是我有變異的問題,我無法控制插入,但我需要爲每個r做這件事ow值大於1. 任何消耗?
這裏是我的問題:TRIGGERS插入同一臺 - PLSQL
我在同一個表
我改造這樣
東西放到這個我嘗試過觸發器,但是我有變異的問題,我無法控制插入,但我需要爲每個r做這件事ow值大於1. 任何消耗?
根據您正在尋找交易的數量,這可能不是一個可行的方法,但你可以嘗試的東西沿着這些路線:
CREATE OR REPLACE TRIGGER {TRIGGER NAME}
BEFORE INSERT ON {TABLE HERE}
FOR EACH ROW
DECLARE
l_val INTEGER;
BEGIN
l_val := :new.value - 1;
IF l_val > 0 THEN
:new.value := 1;
FOR i IN 1..l_val LOOP
INSERT INTO {TABLE HERE}
VALUES (:new.name, 1);
END LOOP;
END IF;
END {TRIGGER NAME};
/
您需要使用視圖,而不是觸發。
create table testing_trig (c char(1), i integer);
create or replace view testing_trig_view as select * from testing_trig;
CREATE OR REPLACE TRIGGER testing_trg INSTEAD OF INSERT ON testing_trig_view BEGIN FOR i IN 1 .. :NEW.i LOOP INSERT INTO testing_trig VALUES (:NEW.c, 1); END LOOP; END; /
insert into testing_trig_view values ('A', 3);
SQL> select * from testing_trig; C I - ---------- A 1 A 1 A 1