Skip to main content

SQL Varrays

Example 01:

DECLARE 

CURSOR NAME_CUR IS
SELECT LAST_NAME FROM STUDENT WHERE ROWNUM<=10;

TYPE LASTNAME_TYPE IS VARRAY(10) OF STUDENT.LAST_NAME % TYPE;
LAST_NAME_VARRAY LAST_NAME=LASTNAME_TYPE();

V_COUNT INTEGER=0;

BEGIN
FOR NAME_REC IN  NAME_CUR LOOP
 V_COUNT=V_COUNT+1;
 LAST_NAME_VARRAY(V_COUNT)=NAME_REC.LAST_NAME;
 DBMS_OUTPUT.PUT_LINE('LAST NAME('||V_COUNT||'):'||LAST_NAME_VARRAY(V_COUNT));
END LOOP;
END;

Example 02:

DECLARE

TYPE MY_VARRAY_TYPE IS VARRAY(10) OF NUMBER;
VARRAY MY_VARRAY_TYPE=MY_VARRAY_TYPE(1,2,3,4);

BEGIN
DBMS_OUTPUT.PUT_LINE('MY VARRAY COUNT='||VARRAY.COUNT);
DBMS_OUTPUT.PUT_LINE('MY VARRAY LIMIT='||VARRAY.LIMIT);
DBMS_OUTPUT.PUT_LINE('MY VARRAY FIRST='||VARRAY.FIRST);
DBMS_OUTPUT.PUT_LINE('MY VARRAY LAST='||VARRAY.LAST);
VARRAY.EXTEND(2,4)
DBMS_OUTPUT.PUT_LINE('MY VARRAY LAST='||VARRAY.LAST);
DBMS_OUTPUT.PUT_LINE('MY VARRAY('||VARRAY.LAST||')='||VARRAY(VARRAY.LAST));
VARRAY.TRIM(2);
DBMS_OUTPUT.PUT_LINE('MY VARRAY LAST='||VARRAY.LAST);
END;

MY_VARRAY.COUNT=6
MY_VARRAY.LIMIT=10
MY_VARRAY.FIRST=1
MY_VARRAY.LAST=8
MY_VARRAY(8)=4
MY_VARRAY.LAST=6

Comments

Popular posts from this blog

SQL Blocking query

SELECT s.session_id, r.status, r.blocking_session_id 'Blk by' , r.wait_type, wait_resource, r.wait_time / ( 1000.0 ) 'Wait Sec' , r.cpu_time, r.logical_reads, r.reads, r.writes, r.total_elapsed_time / ( 1000.0 ) 'Elaps Sec' , Substring (st. TEXT ,(r.statement_start_offset / 2 ) + 1 , (( CASE r.statement_end_offset WHEN - 1 THEN Datalength (st. TEXT ) ELSE r.statement_end_offset END - r.statement_start_offset) / 2 ) + 1 ) AS statement_text, Coalesce ( Quotename ( Db_name (st.dbid)) + N '.' + Quotename (Object_sch...

Split String which has space and replace spaces with "/"

Sample String "ABCD123 ETS, NM" UPDATE TABLE_NAME SET COLUMN_NAME = SUBSTR( 'ABCD123 ETS, NM' , 0 , 4 ) || REPLACE ((SUBSTR(( REPLACE ( 'ABCD123 ETS, NM' , ', ' , '/' )), 5 ,INSTR(( REPLACE ( 'ABCD123 ETS, NM' , ', ' , ',/' )), ',' , 1 ) - 4 )), ' ' , '/' ) || REPLACE (SUBSTR( 'ABCD123 ETS, NM' ,INSTR( 'ABCD123 ETS, NM' , ',' , 1 ) + 2 ), 'NM' , 'NEW MEXICO' ) WHERE CONDITIONS;