SQL> CONNECT SCOTT/TIGER Connected. SQL> SET SERVEROUTPUT ON SQL> CREATE TABLE MYTABLE (V VARCHAR2(200));
Table created.
SQL> CREATE TABLE MYTABLE_LONG (V VARCHAR2(200));
Table created.
SQL> CREATE OR REPLACE TRIGGER MYTRIGGER BEFORE INSERT ON MYTABLE 2 REFERENCING NEW AS NEWROW 3 FOR EACH ROW 4 DECLARE 5 L NUMBER; 6 S VARCHAR2(2000); 7 BEGIN 8 L:=LENGTH(:NEWROW.V); 9 IF L > 15 THEN 10 DBMS_OUTPUT.PUT_LINE('INSERTING INTO MYTABLE_LONG AS WELL'); 11 S:='INSERT INTO MYTABLE_LONG (V) VALUES (''' || :NEWROW.V || ''')'; 12 EXECUTE IMMEDIATE S; 13 END IF; 14 END MYTRIGGER; 15 /
Trigger created.
SQL> SHOW ERRORS No errors. SQL> INSERT INTO MYTABLE (V) VALUES ('Hello, world!');
1 row created.
SQL> INSERT INTO MYTABLE (V) VALUES ('Hello, world! More text...'); INSERTING INTO MYTABLE_LONG AS WELL
1 row created.
SQL> INSERT INTO MYTABLE (V) VALUES ('__________INJECT''POINT__________'); INSERTING INTO MYTABLE_LONG AS WELL INSERT INTO MYTABLE (V) VALUES ('__________INJECT''POINT__________') * ERROR at line 1: ORA-00917: missing comma ORA-06512: at "SCOTT.MYTRIGGER", line 9 ORA-04088: error during execution of trigger 'SCOTT.MYTRIGGER'