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

संरचना का उपयोग कैसे करें और कॉलम सूची, refcursor के डेटाटाइप कैसे प्राप्त करें?

आप रेफ कर्सर को DBMS_SQL में बदल सकते हैं DBMS_SQL.TO_CURSOR_NUMBER . का उपयोग कर कर्सर समारोह। फिर, कर्सर संख्या होने पर, आप DBMS_SQL . के माध्यम से इसमें हेरफेर का निरीक्षण कर सकते हैं . इसमें इसके स्तंभों का वर्णन करने में सक्षम होना शामिल है, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है:

DECLARE
  l_rc              SYS_REFCURSOR;

  l_cursor_number   INTEGER;
  l_col_cnt         INTEGER;
  l_desc_tab        DBMS_SQL.desc_tab;
  l_col_num         INTEGER;
BEGIN
  OPEN l_rc FOR 'SELECT object_name, object_type, last_ddl_time FROM dba_objects where rownum <= 10';

  l_cursor_number   := DBMS_SQL.to_cursor_number (l_rc);

  DBMS_SQL.describe_columns (l_cursor_number, l_col_cnt, l_desc_tab);

  l_col_num         := l_desc_tab.FIRST;

  IF (l_col_num IS NOT NULL) THEN
    LOOP
      DBMS_OUTPUT.put_line ('Column #' || l_col_num);
      DBMS_OUTPUT.put_line ('...name: ' || l_desc_tab (l_col_num).col_name);
      DBMS_OUTPUT.put_line ('...type: ' || l_desc_tab (l_col_num).col_type);
      DBMS_OUTPUT.put_line ('...maxlen: ' || l_desc_tab (l_col_num).col_max_len);
      -- ... other fields available in l_desc_tab(l_col_num) too.
      l_col_num   := l_desc_tab.NEXT (l_col_num);
      EXIT WHEN (l_col_num IS NULL);
    END LOOP;
  END IF;

  DBMS_SQL.close_cursor (l_cursor_number);
END;

आउटपुट

Column #1
...name: OBJECT_NAME
...type: 1
...maxlen: 128
Column #2
...name: OBJECT_TYPE
...type: 1
...maxlen: 23
Column #3
...name: LAST_DDL_TIME
...type: 12
...maxlen: 7


  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. Oracle डेटाबेस 19c में आर्काइव लॉग मोड को कैसे इनेबल करें?

  4. 2 कार्य जो Oracle में एक तिथि से महीना लौटाते हैं

  5. Oracle Concatenate स्ट्रिंग और संख्या उदाहरण