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

मैं रिकॉर्ड प्रकार की थोक एकत्रित तालिका से कैसे चयन करूं?

आपकी समस्या वास्तव में ORA-22905 के बजाय PLS-00642 त्रुटि है। अनिवार्य रूप से आप SQL कथनों में स्थानीय संग्रह प्रकारों का उपयोग नहीं कर सकते हैं। इसलिए समाधान, स्कीमा स्तर पर अपने प्रकारों को परिभाषित करना है। इस तरह से प्रकारों को परिभाषित करते समय, हम %TYPE सिंटैक्स का उपयोग नहीं कर सकते हैं, और इसके बजाय कॉलम को स्पष्ट रूप से परिभाषित करना चाहिए (ओरेकल में एक प्रकार बनाते समय PLS-00201 त्रुटि प्राप्त करना ) यानी

create or replace type rec_type as object (
  COLUMN_1 integer,
  COLUMN_2 varchar2(128)
);

create or replace type tab_type as table of rec_type;

फिर आपको यहां बताए अनुसार थोक संग्रह करने के लिए मानों को प्रासंगिक प्रकार में स्पष्ट रूप से परिवर्तित करने की आवश्यकता है:ORA-00947 विश्व स्तर पर प्रकार घोषित करते समय पर्याप्त मान नहीं हैं .

इसलिए आपकी प्रक्रिया कुछ इस तरह दिखेगी:

PROCEDURE MYPROC((PARAMS))AS
  TABLE_1 TAB_TYPE;
  lCount  integer;
BEGIN

  SELECT  REC_TYPE(COLUMN_A, COLUMN_B)
  BULK COLLECT INTO TABLE_1 
  FROM  TABLE_A;

  SELECT COUNT(*) INTO lCount FROM TABLE(TABLE_1);
END MYPROC;



  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. पैरामीटरयुक्त ऑरैकल सम्मिलित क्वेरी कैसे लिखें?

  3. जावा 6 फ़ंक्शन कमांड लाइन में काम कर रहा है, लेकिन ओरेकल सर्वर पर काम नहीं कर रहा है (एईएस 256)

  4. Oracle ADF को टैब करते समय सभी पंक्तियों पर सत्यापन चल रहा है

  5. ऑरैकल डेटाबेस से डेटासेट को सी # से कैसे भरें?