or ... you register a startup script in the preferences (database) which sets the buffer size....
Thanks for guide me. Thanks a lot.....
Actually I tried to fetch some fields in procedure with cursor concept. My actual sql is
create or replace PROCEDURE GET_EMP_DETAILS
EMP_ID IN NUMBER
CURSOR CUR IS
, DEPARTMENTS D
, LOCATIONS L
, JOBS J
, COUNTRIES C
, REGIONS R
E.JOB_ID = J.JOB_ID
AND D.DEPARTMENT_ID = E.DEPARTMENT_ID
AND D.LOCATION_ID = L.LOCATION_ID
AND C.COUNTRY_ID = L.COUNTRY_ID
AND R.REGION_ID = C.REGION_ID
AND E.EMPLOYEE_ID = EMP_ID;
FETCH CUR INTO CUR_CUR;
which shows error as
- Error: ORA-00604: error occurred at recursive SQL level 1 ORA-04030: out of process memory when trying to allocate 16412 bytes (callheap,kxibInit : sorbuf_kxibm)
Any solution for that?
Increase the PGA?
Use a where clause - query less data.
You'll get better answers on the SQL/PLSQL Forum however as this forum is dedicated to the tooling, i.e. SQL Developer.
This forum, as the title says, is NOT for SQL or PL/SQL questions.
Please mark the thread ANSWERED and repost your NEW question in the SQL and PL/SQL forum.
Before you repost you should RTFM about how to use LOOPs and CURSOR FOR loops in particular
See the PL/SQL Language doc. Example 4-24 has example code
CURSOR c1 is SELECT * FROM employees;
-- Fetch entire row into v_employees record:
FOR i IN 1..10 LOOP
FETCH c1 INTO v_employees;
EXIT WHEN c1%NOTFOUND;
-- Process data here
See that EXIT statement in the example code? Your code doesn't have one.
If you need more help than the above repost the question in the proper forum.