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

Oracle ट्रिगर इंसर्ट/अपडेट

मैं प्रत्येक पंक्ति के लिए ट्रिगर आग निर्दिष्ट करने का सुझाव दूंगा। मुझे ये बहुत आसान लगते हैं।

आप यह देखने के लिए गिनती कर सकते हैं कि MovieStar.Name मान पहले से मौजूद है और यदि नहीं है तो डालें; यह आपके ऊपर दिए गए दृष्टिकोण के समान है। यह विफल हो जाएगा यदि कोई अन्य उपयोगकर्ता आपके द्वारा चेक किए गए समय और आपके द्वारा सम्मिलित किए जाने के समय के बीच मूवी स्टार को सम्मिलित करता है, लेकिन यह संभवतः कक्षा असाइनमेंट के लिए पर्याप्त है। इसके लिए स्वीकृत नो-फेल दृष्टिकोण हैं, लेकिन हो सकता है कि आपने उन्हें अभी तक कक्षा में शामिल नहीं किया हो।

कुछ इस तरह की कोशिश करो; इसमें संभवत:वह सब कुछ शामिल है जिसे आपने अब तक कक्षा में शामिल किया है:

CREATE OR REPLACE TRIGGER TestTrig
AFTER UPDATE OR INSERT ON STARSIN
FOR EACH ROW
DECLARE
  movieStarCount NUMBER;
BEGIN
  SELECT COUNT(*) INTO movieStarCount
    FROM MovieStar
    WHERE Name = :NEW.StarName;
  IF movieStarCount = 0 THEN
    INSERT INTO MovieStar (Name) VALUES (:NEW.StarName);
  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. XML से Oracle PL/SQL वातावरण में पथों की सूची तक

  3. Oracle पाठ NVARCHAR2 के साथ काम नहीं करेगा। और क्या अनुपलब्ध हो सकता है?

  4. Oracle के साथ लंबा मुद्दा क्यों है?

  5. लिक्विबेस स्क्रिप्ट ORA-01843 लौटाती है:मान्य माह नहीं