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

PLS-00049 VARIABEL PENGIKAT BURUK

Anda merujuk untuk mengikat varibal dengan 'A' di awal dan tidak ada garis bawah, seperti :OLD.AWitnessID , tetapi kolom tabel Anda hanya WITNESS_ID . Jadi mereka tidak cocok, dan menghasilkan kesalahan ini. Anda bahkan tidak memiliki WITNESS_TYPE kolom.

Kemudian di insert pernyataan Anda memiliki nama kolom di tabel audit yang salah juga. Anda juga menyetel variabel ke Update tapi periksa UPDATE - ingat perbandingan peka huruf besar/kecil untuk nilai string.

Ini dikompilasi dengan skema Anda:

CREATE OR REPLACE TRIGGER TRG_PLAUDWIT
AFTER INSERT OR DELETE OR UPDATE ON PL_WITNESS
FOR EACH ROW
DECLARE
  v_trigger_task varchar2(10);
BEGIN
  IF UPDATING THEN
    v_trigger_task := 'UPDATE';
  ELSIF DELETING THEN
    v_trigger_task := 'DELETE';
  ELSIF INSERTING THEN
    v_trigger_task := 'INSERT';
  ELSE
    v_trigger_task := NULL;
  END IF;

  IF v_trigger_task IN ('DELETE','UPDATE') THEN
    INSERT INTO PLAUDWIT (AUD_AWitnessID, AUD_AWitnessType, AUDIT_USER,
      AUDIT_DATE, AUDIT_ACTION)
    VALUES (:OLD.Witness_ID, :OLD.FK1_WITNESS_TYPE_ID, UPPER(v('APP USER')),
      SYSDATE, v_trigger_task);
  ELSE    
    INSERT INTO PLAUDWIT (AUD_AWitnessID, AUD_AWitnessType, AUDIT_USER,
      AUDIT_DATE, AUDIT_ACTION)
    VALUES (:NEW.Witness_ID, :NEW.FK1_WITNESS_TYPE_ID, UPPER(v('APP USER')),
      SYSDATE, v_trigger_task);
  END IF;
END TRG_PLAUDWIT;
/

SQL Fiddle tidak menunjukkan kesalahan kompilasi .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menginstal Oracle Express Edition untuk Latihan SQL

  2. Apakah ada metode dalam PL/SQL untuk mengonversi/mengkodekan teks ke teks yang sesuai dengan XML?

  3. CLEAR SCREEN - Pintasan Pengembang Oracle SQL?

  4. 7 hal yang perlu diketahui tentang kompartemen di Oracle Cloud Infrastructure

  5. Mengapa kesalahan ORA-12054 terjadi saat membuat contoh tampilan terwujud sederhana ini?