Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

cách thay đổi dấu phân cách trong sqlplus trong oracle 11g

Không có gì sai với cú pháp của trình kích hoạt của bạn. Tôi có thể chạy nó trong môi trường SQL * Plus (vani) của mình:

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>

Và lo! trình kích hoạt hoạt động:

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

1 row created.

SQL> select * from test
  2  /

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

SQL>

Tất cả những gì tôi có thể nghĩ là bạn có một số dòng trống trong mã mà bạn đang nhập. Nếu đây là tình huống, bạn có thể ghi đè hành vi mặc định bằng lệnh SQL * Plus này:

SQL>  set sqlblanklines on


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sao lưu cơ sở dữ liệu Oracle:Loại chiến lược sao lưu và dự phòng

  2. ORA-01779:không thể sửa đổi cột ánh xạ tới một bảng không được lưu giữ khóa

  3. Ánh xạ khóa tổng hợp với Hibernate tạo ra một trường thô trong Oracle

  4. Kết nối oracle từ nodejs

  5. Gọi thủ tục được lưu trữ từ sqlplus