मेरे पास मेरे फॉर्म पर एक फ़ील्ड है (फ़ील्ड उदाहरण नाम "completion_date")। यह डेटा टेबल कॉलम "completion_date" में स्टोर किया जाता है। जब उपयोगकर्ता विवरण संपादित करते हैं, तो डेटा को संग्रहीत करने के डिफ़ॉल्ट तरीके के रूप में बैकएंड तालिका फ़ील्ड में डेटा को अधिलेखित कर दिया जाता है। मैं इस कॉलम में मौजूदा डेटा को एक नए कॉलम (completion_date_a) पर कैसे पास कर सकता हूं जब उपयोगकर्ता फ़ील्ड में एक नई तारीख सहेजता है।

0
Ahmed Chishti 11 पद 2020, 14:05

2 जवाब

सबसे बढ़िया उत्तर

लिटिलफुट का उत्तर सही है, लेकिन आप इसे बहुत कम काम के साथ शीर्ष पर भी कर सकते हैं। मान लीजिए कि आपके फॉर्म आइटम P1_COMPLETION_DATE और P1_COMPLETION_DATE_A हैं, दोनों को उनके संबंधित डेटाबेस कॉलम में मैप किया गया है। P1_COMPLETION_DATE_A छिपा हुआ है। P1_COMPLETION_DATE_A में "आफ्टर हैडर" बिंदु के साथ एक गणना जोड़ें और "आइटम" टाइप करें। P1_COMPLETION_DATE को आइटम के रूप में चुनें।

अब जब आप प्रपत्र सहेजते हैं, तो P1_COMPLETION_DATE_A का मान P1_COMPLETION_DATE के मान पर सेट हो जाएगा जब इसे चुना गया था।

1
Koen Lostrie 11 पद 2020, 15:32

एक विकल्प डेटाबेस ट्रिगर बनाना है, उदा।

create or replace trigger trg_bu_date
  before update on your_table
  for each row
begin
  :new.completion_date_a := :old.completion_date;
end;
/
2
Littlefoot 11 पद 2020, 14:28