sql >> Databasteknik >  >> RDS >> Oracle

hur man ändrar avgränsaren i sqlplus i oracle 11g

Det är inget fel med syntaxen för din trigger. Jag kan köra det i min (vanilj) SQL*Plus-miljö:

SQL> CREATE OR REPLACE TRIGGER test_trigger
  2  BEFORE INSERT ON test
  3  REFERENCING NEW AS NEW FOR EACH ROW
  4  BEGIN
  5  SELECT test_sequence.nextval INTO :NEW.ID FROM dual;
  6  END;
  7  /

Trigger created.

SQL>

Och se! utlösaren fungerar:

SQL> insert into test (col1) values ('Simples!')
  2  /

1 row created.

SQL> select * from test
  2  /

        ID COL1
---------- ------------
         1 Simples!

SQL>

Allt jag kan tänka är att du har några tomma rader i koden som du skriver. Om detta är situationen kan du åsidosätta standardbeteendet med det här SQL*Plus-kommandot:

SQL>  set sqlblanklines on


  1. SQL:Efter sammanfogning av tabeller returnerar funktionen SUM() fel värde

  2. Sqlalchemy, rå fråga och parametrar

  3. Ta reda på vilken partition ett givet värde skulle mappas till i SQL Server (T-SQL)

  4. Fix MySQL Warning 1287:"BINARY expr" är utfasad och kommer att tas bort i en framtida version