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

पीएलएसक्यूएल :नया और :पुराना

आप आमतौर पर :old . का उपयोग करके ट्रिगर में शब्दों का उपयोग करते हैं पुराने मान और :new . को संदर्भित करने के लिए नए मान को संदर्भित करने के लिए।

ऊपर से लिंक किए गए Oracle दस्तावेज़ों का एक उदाहरण यहां दिया गया है

CREATE OR REPLACE TRIGGER Print_salary_changes
  BEFORE DELETE OR INSERT OR UPDATE ON Emp_tab
  FOR EACH ROW
WHEN (new.Empno > 0)
DECLARE
    sal_diff number;
BEGIN
    sal_diff  := :new.sal  - :old.sal;
    dbms_output.put('Old salary: ' || :old.sal);
    dbms_output.put('  New salary: ' || :new.sal);
    dbms_output.put_line('  Difference ' || sal_diff);
END;

इस उदाहरण में ट्रिगर BEFORE DELETE OR INSERT OR UPDATE सक्रिय होता है :old.sal ट्रिगर फायरिंग से पहले का वेतन और :new.sal . होगा इसमें नया मान होगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL डेवलपर में नया कनेक्शन जोड़ते समय Oracle TNS नाम प्रदर्शित नहीं हो रहे हैं

  2. ADD_MONTHS () Oracle में फ़ंक्शन

  3. क्या Oracle में एक से अधिक बार प्रक्रिया के निष्पादन से बचने का सबसे अच्छा तरीका है?

  4. एसक्यूएल स्ट्रिंग में एम्पर्सेंड चरित्र से बचना

  5. Oracle में एक दृश्य क्या है?