You are on page 1of 1

cursor demo

alter system flush shared_pool;

--user tpcc create table employees


create table employees as select * from hr.employees;

--user otest create synonym for TPCC.employees


create or replace synonym employees for TPCC.employees;

test demo one:


--user hr issue sql
select DEPARTMENT_ID,count(*) from employees group by DEPARTMENT_ID;
select DEPARTMENT_ID, count(*) from employees group by DEPARTMENT_ID;
select DEPARTMENT_ID,count(*) from EMPLOYEES group by DEPARTMENT_ID;

monitor cursor

--test demo two:


--user hr issue sql
select DEPARTMENT_ID,count(*) from employees group by DEPARTMENT_ID;
--user otest issue sql
select DEPARTMENT_ID,count(*) from employees group by DEPARTMENT_ID;

monitor child cursor

SELECT sql_id, hash_value, child_number, SUBSTR(sql_text,1,40) Text FROM v$sql


WHERE sql_text LIKE '%select DEPARTMENT_ID,%';

--clear

--bind
var v1 varchar2(20)
exec :v1 := 'Jonathon'
select EMPLOYEE_ID,FIRST_NAME from employees where first_name=:v1;
exec :v1 := 'Winston'
select EMPLOYEE_ID,FIRST_NAME from employees where first_name=:v1;
exec :v1 := 'Jose Manuel'
select EMPLOYEE_ID,FIRST_NAME from employees where first_name=:v1;

--monitor cursor
SELECT sql_id, hash_value, child_number, SUBSTR(sql_text,1,40) Text FROM v$sql
WHERE sql_text LIKE '%employees where first_name=%';

--no bind
select EMPLOYEE_ID,FIRST_NAME from employees where first_name='Jonathon';
select EMPLOYEE_ID,FIRST_NAME from employees where first_name='Winston';
select EMPLOYEE_ID,FIRST_NAME from employees where first_name='Jose Manuel';

--monitor cursor
SELECT sql_id, hash_value, child_number, SUBSTR(sql_text,1,40) Text FROM v$sql
WHERE sql_text LIKE '%employees where first_name=%';

You might also like