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

क्या कोई SQL प्रक्रिया एक तालिका लौटा सकती है?

एक पीएल/एसक्यूएल फ़ंक्शन नेस्टेड टेबल वापस कर सकता है। बशर्ते हम नेस्टेड तालिका को SQL प्रकार के रूप में घोषित करें, हम इसे टेबल() फ़ंक्शन

यहाँ एक प्रकार और उससे निर्मित एक नेस्टेड तालिका है:

SQL> create or replace type emp_dets as object (
  2  empno number,
  3  ename varchar2(30),
  4  job varchar2(20));
  5  /

Type created.

SQL> create or replace type emp_dets_nt as table of emp_dets;
  2  /

Type created.

SQL> 

यहाँ एक फ़ंक्शन है जो उस नेस्टेड तालिका को लौटाता है ...

create or replace function get_emp_dets (p_dno in emp.deptno%type)
    return emp_dets_nt
is
    return_value emp_dets_nt;
begin
    select emp_dets(empno, ename, job)
    bulk collect into return_value
    from emp
    where deptno = p_dno;
    return return_value;
end;
/

... और यह इस तरह काम करता है:

SQL> select * 
  2  from table(get_emp_dets(10))
  3  /

     EMPNO ENAME                          JOB
---------- ------------------------------ --------------------
      7782 CLARK                          MANAGER
      7839 KING                           PRESIDENT
      7934 MILLER                         CLERK

SQL> 

SQL प्रकार हमें बहुत अधिक कार्यक्षमता प्रदान करते हैं, और हमें PL/SQL में काफी परिष्कृत API बनाने की अनुमति देते हैं। और जानें



  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 10g . में दो संग्रहों के संयोजन पर आंतरिक त्रुटि (00801)

  3. Oracle APEX में BLOB टाइप कॉलम का प्रयोग

  4. कैसे एक पैकेज oracle के अंदर सभी प्रक्रियाओं की सूची प्राप्त करने के लिए?

  5. चल रहे चयन कथन को कैसे मारें