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

क्या पीएल एसक्यूएल पैकेज प्रक्रिया में ऑब्जेक्ट्स को पैरामीटर के रूप में पास करना संभव है?

CREATE OR REPLACE TYPE t_parsed_name as object (
name_prefix varchar2(50),
name_first varchar2(50),
name_middle varchar2(50),
name_last varchar2(100),
name_suffix varchar2(50)
);

CREATE OR REPLACE TYPE T_PARSED_NAME_ARY as table of t_parsed_name;

create or replace procedure test_parsed_names(i_parsed_name_ary in t_parsed_name_ary) as
    idx pls_integer;
begin
    idx := i_parsed_name_ary.first;
    loop
        exit when idx is null;
        dbms_output.put_line('First name: ' || i_parsed_name_ary(idx).name_first || ', Last name: ' || i_parsed_name_ary(idx).name_last);
        idx := i_parsed_name_ary.next(idx);
    end loop;
end;

----------------------------------------
-- example using above procedure
declare
    l_parsed_name t_parsed_name;
    l_parsed_name_ary t_parsed_name_ary;
begin
  l_parsed_name_ary := t_parsed_name_ary();
  l_parsed_name_ary.extend(3);

  -- create some parsed names and add to array
  l_parsed_name := t_parsed_name('Mr','Joe','T','Blow','Jr');
  l_parsed_name_ary(1) := l_parsed_name;
  l_parsed_name := t_parsed_name('Mrs','Jane','','Doe','');
  l_parsed_name_ary(2) := l_parsed_name;
  l_parsed_name := t_parsed_name('','Betty','','Boop','');
  l_parsed_name_ary(3) := l_parsed_name;

  -- test the array (call procedure with object type array parameter)
  test_parsed_names(l_parsed_name_ary);
end;


  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. Oracle डेटाबेस के साथ Oracle JDeveloper 12c का उपयोग करना, भाग 1

  3. दिनांक कॉलम के लिए SQL गणना

  4. क्या मुझे रिलेशनल डेटाबेस में एक पंक्ति को हटाना या अक्षम करना चाहिए?

  5. मैं Oracle में किसी क्वेरी के परिणाम में किसी फ़ील्ड के छिपे हुए वर्ण कैसे प्रदर्शित करूं?