Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

ट्रिगर जो त्रुटियों के साथ संकलित व्यक्ति तालिका में डालने या हटाने पर लॉग तालिका में पंक्ति सम्मिलित करता है

चूंकि आपने त्रुटि पोस्ट नहीं की है, मुझे अनुमान लगाना है। मेरा अनुमान है कि समस्या यह है कि name इस संदर्भ में मान्य पहचानकर्ता नहीं है। आपको या तो :new.name . का संदर्भ देना होगा या :old.name . :old.name NULLहोगा एक डालने पर :new.name NULLहोगा एक डिलीट पर तो मैं मान रहा हूँ कि आप कुछ ऐसा चाहते हैं

CREATE OR REPLACE TRIGGER add_del
  BEFORE INSERT OR DELETE ON persons
  FOR EACH ROW
BEGIN
  IF INSERTING THEN
    INSERT INTO logs (who, what) VALUES (:new.name, 'Insert into persons');
  ELSE
    INSERT INTO logs (who, what) VALUES (:old.name, 'Delete from persons');
  END IF;
END;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. समवर्ती अद्यतन हाइबरनेट में हैंडलिंग

  2. ओरेकल प्रक्रिया

  3. Oracle PL/SQL:DML पैकेज ऑनलाइन बनाएँ

  4. sysdate पर आधारित ट्रिगर

  5. एक्लिप्सलिंक का उपयोग करके OracleDB से डेटा प्राप्त करने का लंबा समय