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

Oracle प्रक्रिया में इनपुट पैरामीटर के रूप में डेटा की एक सरणी पास करना

ऐसा करने का यह एक तरीका है:

SQL> set serveroutput on
SQL> CREATE OR REPLACE TYPE MyType AS VARRAY(200) OF VARCHAR2(50);
  2  /

Type created

SQL> CREATE OR REPLACE PROCEDURE testing (t_in MyType) IS
  2  BEGIN
  3    FOR i IN 1..t_in.count LOOP
  4      dbms_output.put_line(t_in(i));
  5    END LOOP;
  6  END;
  7  /

Procedure created

SQL> DECLARE
  2    v_t MyType;
  3  BEGIN
  4    v_t := MyType();
  5    v_t.EXTEND(10);
  6    v_t(1) := 'this is a test';
  7    v_t(2) := 'A second test line';
  8    testing(v_t);
  9  END;
 10  /

this is a test
A second test line

@ डीसीपी के उत्तर पर मेरी टिप्पणी का विस्तार करने के लिए, यहां बताया गया है कि यदि आप एक सहयोगी सरणी का उपयोग करना चाहते हैं तो आप वहां प्रस्तावित समाधान को कैसे कार्यान्वित कर सकते हैं:

SQL> CREATE OR REPLACE PACKAGE p IS
  2    TYPE p_type IS TABLE OF VARCHAR2(50) INDEX BY BINARY_INTEGER;
  3  
  4    PROCEDURE pp (inp p_type);
  5  END p;
  6  /

Package created
SQL> CREATE OR REPLACE PACKAGE BODY p IS
  2    PROCEDURE pp (inp p_type) IS
  3    BEGIN
  4      FOR i IN 1..inp.count LOOP
  5        dbms_output.put_line(inp(i));
  6      END LOOP;
  7    END pp;
  8  END p;
  9  /

Package body created
SQL> DECLARE
  2    v_t p.p_type;
  3  BEGIN
  4    v_t(1) := 'this is a test of p';
  5    v_t(2) := 'A second test line for p';
  6    p.pp(v_t);
  7  END;
  8  /

this is a test of p
A second test line for p

PL/SQL procedure successfully completed

SQL> 

यह एक पैकेज की परिभाषा की आवश्यकता के साथ एक स्टैंडअलोन ओरेकल प्रकार (जो एक सहयोगी सरणी नहीं हो सकता) बनाने के लिए ट्रेड करता है जिसे सभी द्वारा देखा जा सकता है ताकि वह जिस प्रकार को परिभाषित करता है उसका उपयोग सभी द्वारा किया जा सके।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle में उपयोगकर्ता को क्लोन कैसे करें

  2. NHibernate में NUMBER Oracle डेटा प्रकार को मैप करने के लिए कौन सा .NET डेटा प्रकार सबसे अच्छा है?

  3. डंपिंग डेटा ब्लॉक

  4. Django ओरेकल डीबी सेटिंग्स

  5. .NET . का उपयोग करके Oracle में बल्क इंसर्ट