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

Oracle एपेक्स डेटाबेस ट्रिगर - डेटाबेस कॉलम को संदर्भित करने में समस्या

आप प्रत्येक पंक्ति का परीक्षण करने के लिए स्ट्रिंग मिलान कर सकते हैं:

create or replace trigger "ORDER_PARTS_T1"
BEFORE
insert or update on "ORDER_TABLE"
for each row
begin
  update PARTS_TABLE p
  set p.ASSIGNED_ORDER_NUMBER = :new.ORDER_NUMBER
  where instr(':' || :new.ORDER_PARTS_LIST || ':'
             ,':' || p.PART_NUMBER || ':') > 0;
end;

तो उदाहरण के लिए, यदि ORDER_PARTS_LIST '123:456:789' है उदाहरण के लिए, INSTR आईडी 123, 456 और 789 के लिए मिलान ढूंढेगा, लेकिन 124, 45 या 8 नहीं।

जब किसी ऑर्डर से पुर्जे हटा दिए जाते हैं तो आपको NULL . के लिए एक अलग ट्रिगर की आवश्यकता होगी PARTS_TABLE . में उपयुक्त फ़ील्ड :

create or replace trigger "ORDER_PARTS_T1"
BEFORE
update on "ORDER_TABLE"
for each row
begin
  update PARTS_TABLE p
  set p.ASSIGNED_ORDER_NUMBER = NULL
  where instr(':' || :new.ORDER_PARTS_LIST || ':'
             ,':' || p.PART_NUMBER || ':') = 0
  and instr(':' || :old.ORDER_PARTS_LIST || ':'
             ,':' || p.PART_NUMBER || ':') > 0;
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. SQL क्वेरी के परिणाम को csv- शैली स्वरूपित स्ट्रिंग में कैसे निर्यात करें, जिसे बाद में Oracle में clob में सहेजा जाएगा?

  2. Oracle - ट्रिगर बनाने में समस्या जो किसी अन्य तालिका को अद्यतन करता है

  3. ओरेकल सत्र क्या है?

  4. विकल्प द्वारा विभाजित स्कूप विकल्प द्वारा विभाजित में एक व्युत्पन्न कॉलम का उपयोग करते समय त्रुटि दे रहा है

  5. स्प्रिंग डेटा जेपीए ओरेकल फंक्शन को बुला रहा है