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

Lỗi kích hoạt Oracle PL / SQL

thêm ; ở cuối truy vấn hậu tố của bạn

 ELSIF :NEW.suffix = '' THEN
    SELECT MAX(suffix)+1 INTO :NEW.suffix 
    FROM tb1 WHERE reportnum = :NEW.reportnum;

ELSIF :NEW.suffix = NULL THEN
    SELECT MAX(suffix)+1 INTO :NEW.suffix 
    FROM tb1 WHERE reportnum = :NEW.reportnum;

Bạn cũng có thể giảm số lượng câu lệnh if cho cả hai bằng cách thực hiện điều này:Ví dụ:

 IF coalesce(:NEW.reportnum,-1) = -1  THEN
    SELECT seq1.NEXTVAL INTO :NEW.reportnum FROM dual;  

ELSIF coalesce(:NEW.suffix,-1) = -1 THEN
    SELECT MAX(suffix)+1 INTO :NEW.suffix 
    FROM tb1 WHERE reportnum = :NEW.reportnum;
END IF; 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhóm / Đặt hàng Oracle SQL

  2. SQL - Tìm các giá trị int bị thiếu trong chuỗi tuần tự được sắp xếp chủ yếu

  3. SSIS không thể lưu các gói và khởi động lại Visual Studio

  4. làm cho biểu mẫu bảng của tôi động

  5. Ý kiến ​​về xác thực giữa các cấp ứng dụng và cơ sở dữ liệu