Showing posts with label json. Show all posts
Showing posts with label json. Show all posts

Wednesday, June 1, 2022

JSON support in 12c

 JSON SUPPROT IN ORACLE 12C 


Oracle has started json support from 12c version onwards . JSON is used nowadays more populalry for data transfer among different subsystems similar to XML. 

below are some examples to understand the json support.

SET SERVEROUTPUT ON;
DECLARE
    TYPE nt_fName   IS TABLE OF VARCHAR2 (20);
    TYPE nt_JName   IS TABLE OF VARCHAR2 (20);
    
    fname   nt_fName;
    LJOB   nt_JName;
BEGIN
    SELECT Ename, JOB
        BULK COLLECT INTO fName, LJOB 
    FROM empL; 
        
        --Print values from the collection--
    FOR idx IN 1..fName.COUNT
    LOOP
        DBMS_OUTPUT.PUT_LINE (idx||' - EMP NAME IS : '||fName (idx) ||' AND JOB : '||LJOB (idx));
    END LOOP;
END;







---------------------JSON --------------------

SELECT JSON_OBJECT('ENAME ' VALUE ENAME ) FROM EMPL---

SELECT JSON_OBJECTAGG('ENAME' VALUE ENAME ) FROM EMPL--

SELECT JSON_ARRAY(ENAME ) FROM EMPL --

SELECT JSON_ARRAYAGG(ENAME) FROM EMPL

/

--GENERATE JSON DATA FRRMAT FOR DEPT AND EMPLOYEES WORKING IN THOSE DEPT

SELECT JSON_OBJECTAGG(D.DNAME
       VALUE JSON_ARRAY(E.ENAME))
   FROM EMPL E, DEP D
   WHERE E.DEPNO=D.DEPNO
   GROUP BY D.DNAME


/

SELECT JSON_OBJECTAGG(D.DNAME
       VALUE JSON_ARRAYAGG(E.ENAME))
   FROM EMPL E, DEP D
   WHERE E.DEPNO=D.DEPNO
   GROUP BY D.DNAME


--- dynamic sql---  EMPL , DEP 
SET SERVEROUTPUT ON;
DECLARE
SQL_STMT VARCHAR2(1000);
 EMP_TOT VARCHAR2(1000);
 v_qry varchar2(100);
BEGIN
v_qry := &a;
SQL_STMT := 'SELECT COUNT(*) FROM  ' ||v_qry; --always it shud be insingle quotes
EXECUTE IMMEDIATE SQL_STMT INTO EMP_TOT;
DBMS_OUTPUT.PUT_LINE('TOTAL rowcount from table '|| v_qry || ' is : '||EMP_TOT);
END;
/

query to get Shipment number based on Order number

 SELECT DISTINCT     wnd.delivery_name,     wnd.actual_ship_date,     wdd.sales_order_number FROM     wsh_new_deliveries       wnd,     wsh_...

Popular Posts