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

Oracle में रिकॉर्ड आधारित इंसर्ट और अपडेट

आप उस तालिका के विरुद्ध %ROWTYPE घोषणाओं पर आधारित रिकॉर्ड का भी उपयोग कर सकते हैं, जिसमें सम्मिलित और अद्यतन किया गया है, या एक स्पष्ट रिकॉर्ड TYPE पर जो तालिका की संरचना के अनुकूल है।

रिकॉर्ड आधारित इंसर्ट उदाहरण:

DECLARE
my_book Books%ROWTYPE;
BEGIN
my_book.isbn :='1-123456-123-1';
my_book.title :='Fox Infotech Blogs';
my_book.summary:='फॉक्स उदाहरण';
my_book.author:='वी. कपूर';
my_book.page_count :=300;
INSERT INTO VALUES my_book;
END;
/
ध्यान दें कि आप रिकॉर्ड स्पेसिफायर के आसपास कोष्ठक शामिल नहीं करते हैं . यदि आप इस प्रारूप का उपयोग करते हैं:

INSERT INTO Books VALUES (my_book); -- कोष्ठकों के साथ, अमान्य!

तब आपको एक ORA-00947:पर्याप्त मान अपवाद नहीं मिलेगा, क्योंकि कार्यक्रम तालिका में प्रत्येक कॉलम के लिए एक अलग अभिव्यक्ति की अपेक्षा कर रहा है।

रिकॉर्ड आधारित अपडेट उदाहरण:

आप एक रिकॉर्ड का उपयोग करके पूरी पंक्ति के अपडेट भी कर सकते हैं। निम्न उदाहरण पुस्तक तालिका में %ROWTYPE रिकॉर्ड के साथ एक पंक्ति को अद्यतन करता है। ध्यान दें कि मैं ROW कीवर्ड का उपयोग यह इंगित करने के लिए करता हूं कि मैं पूरी पंक्ति को एक रिकॉर्ड के साथ अपडेट कर रहा हूं:

DECLARE
my_book Books%ROWTYPE;
BEGIN
my_book.isbn :='1-123456-123-1';
my_book.title :='Fox Infotech Blogs';
my_book.summary:='फॉक्स उदाहरण';
my_book.author:='वी. कपूर';
my_book.page_count :=300;

अद्यतन पुस्तकें
SET ROW =my_book
WHERE isbn =my_book.isbn;
END;
/
रिकॉर्ड-आधारित अपडेट पर कुछ प्रतिबंध हैं:

आपको पूरी पंक्ति को ROW सिंटैक्स के साथ अपडेट करना होगा। आप कॉलम के सबसेट को अपडेट नहीं कर सकते (हालाँकि यह भविष्य के रिलीज़ में समर्थित हो सकता है)। कोई भी फ़ील्ड जिसका मान NULL छोड़ दिया जाता है, उसके परिणामस्वरूप संबंधित कॉलम को एक NULL मान असाइन किया जाएगा।
आप सबक्वेरी का उपयोग करके अपडेट नहीं कर सकते।
और, यदि आप सोच रहे हैं, तो आप ROW नामक तालिका स्तंभ नहीं बना सकते।

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. NLS_COLLATION_NAME () Oracle में कार्य

  2. खराब आरएसी नोड को फिर से बनाएं

  3. एक्सएमएल को सीएलओबी कॉलम से एक्सएमएल टाइप कॉलम में कनवर्ट करते समय त्रुटि

  4. Oracle डाटाबेस परिवर्तन अधिसूचना

  5. Oracle सत्र का वेटइवेंट इतिहास कैसे खोजें