Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Oracle:Menggunakan subquery dalam pemicu

Pemicu ini akan melakukannya:

CREATE OR REPLACE TRIGGER trigger_w_subquery
AFTER UPDATE OR INSERT ON project_archiving
FOR EACH ROW WHEN (old.archiving_status <> new.archiving_status
  AND new.archiving_status = 1
)
DECLARE
  l_offer projects.offer%TYPE;
BEGIN
  SELECT offer INTO l_offer 
  FROM projects 
  WHERE projnum = :new.projnum;

  IF l_offer IS NULL THEN
    INSERT INTO offer_log (offer, status, date)
    VALUES (null, 9, sysdate);
  END IF;
END;

Saya berasumsi bahwa pilih dari proyek akan selalu menemukan baris; jika tidak, ini akan memunculkan pengecualian NO_DATA_FOUND yang mungkin perlu Anda tangani.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pemetaan Entitas Terpisah menghasilkan hasil yang tidak terduga dengan database oracle

  2. bagaimana cara memberikan hak istimewa pengguna pada skema tertentu?

  3. Akses Oracle Apex dari mesin jarak jauh

  4. Cara menampilkan data tabel lebih jelas di oracle sqlplus

  5. Menginstal Skema Sampel untuk Oracle 12c menggunakan Asisten Konfigurasi Database