/ / ओरेकल ट्रिगर अद्यतन INSERT के बजाय अद्यतन - ऑरैकल, plsql, ट्रिगर्स, oracle11g

ओरेकल ट्रिगर अद्यतन INSERT के बजाय अद्यतन - ऑरैकल, plsql, ट्रिगर्स, oracle11g

ओरेकल ट्रिगर लिखने का एक तरीका खोजने का प्रयास करना जो प्राथमिक कॉलम में कोई मिलान पाया गया था और यदि कोई नई पंक्ति डालने की बजाय पंक्ति जानकारी अपडेट करता है तो एक डालने से पहले जांच करेगा।

मैंने देखा before insert। क्या उस ब्लॉक के मानदंडों के आधार पर सम्मिलन को रद्द करने का कोई तरीका है?

मैंने भी इसका उपयोग करने पर देखा है instead of खंड लेकिन इसे एक दृश्य पर काम करने की आवश्यकता है।

इस के बारे में जाने के लिए सबसे अच्छा तरीका क्या है?

उत्तर:

उत्तर № 1 के लिए 4

INSERT के बजाय एक बड़ा स्टेटमेंट का उपयोग करें।


जवाब के लिए 0 № 2

मर्ज स्टेटमेंट का प्रयोग करें।

MERGE INTO <<your table>> t
USING (<<your list of records - can be the result of a SELECT >>)
ON ( <<join between table and list of records >>)
WHEN MATCHED THEN
UPDATE SET << the rows you want to set>>
WHEN NOT MATCHED THEN
INSERT (<<columns of table>>)
VALUES (<<value>>)

https://oracle-base.com/articles/9i/merge-statement