How to Use FOR UPDATE Clause

 

 

 

EMPNO

ENAME

JOB

MGR

HIREDATE

SAL

COMM

DEPTNO

7369

SMITH

CLERK

7902

17-Dec-80

800

 

20

7499

ALLEN

SALESMAN

7698

20-Feb-81

1600

300

30

7521

WARD

SALESMAN

7698

22-Feb-81

1250

500

30

7566

JONES

MANAGER

7839

02-Apr-81

2975

 

20

7654

MARTIN

SALESMAN

7698

28-Sep-81

1250

1400

30

7698

BLAKE

MANAGER

7839

01-May-81

2850

 

30

7788

SCOTT

ANALYST

7566

09-Dec-82

3000

 

20

7844

TURNER

SALESMAN

7698

08-Sep-81

1500

0

30

7876

ADAMS

CLERK

7788

12-Jan-83

1100

 

20

7900

JAMES

CLERK

7698

03-Dec-81

950

 

30

7902

FORD

ANALYST

7566

03-Dec-81

3000

 

20

7782

CLARK

MANAGER

7839

09-Jun-81

2450

 

10

7839

KING

PRESIDENT

 

17-Nov-81

5000

 

10

7934

MILLER

CLERK

7782

23-Jan-82

1300

 

10

9001

Manoj

CLERK

 

08-Nov-20

1000

450

40

 

 

--************************************   FOR UPDATE ***********************************-------

 

DECLARE

 

CURSOR  C1  IS

 

select * from XX_EMP

WHERE DEPTNO = 10

FOR UPDATE;

 

   

BEGIN

 

    FOR I IN C1 LOOP

        dbms_lock.sleep(10);   

        dbms_output.put_line ('Employee : '||I.ENAME ||' : Old  Salary is : '||I.SAL);

        UPDATE XX_EMP SET SAL = 15000

        WHERE EMPNO = I.EMPNO;

        dbms_output.put_line ('---*************************************   : '||I.ENAME ||' : Salary Updated OR Not 0/1 : '||SQL%ROWCOUNT);

 

    END LOOP;

 

 

 

END;

 

--=====================

DELETE from XX_EMP WHERE DEPTNO = 10;

 

 

Comments

Popular posts from this blog

E-Text Report In Fusion | Types of E-Text reports

Supplier API's

How to pass default Parameter in cursor