12
Cursor

Cursor. Cursors Operations Cursors adalah suatu nama area yang berisi hasil dari suatu statement SQL. 1. OPEN 2. FETCH 3. CLOSE

Embed Size (px)

Citation preview

Page 1: Cursor. Cursors Operations Cursors adalah suatu nama area yang berisi hasil dari suatu statement SQL. 1. OPEN 2. FETCH 3. CLOSE

Cursor

Page 2: Cursor. Cursors Operations Cursors adalah suatu nama area yang berisi hasil dari suatu statement SQL. 1. OPEN 2. FETCH 3. CLOSE

Cursors Operations

Cursors adalah suatu nama area yang berisi

hasil dari suatu statement SQL.

1. OPEN

2. FETCH

3. CLOSE

Page 3: Cursor. Cursors Operations Cursors adalah suatu nama area yang berisi hasil dari suatu statement SQL. 1. OPEN 2. FETCH 3. CLOSE

Cursors Attribute

1. %FOUND

2. %NOTFOUND

3. %ROWCOUNT

4. %ISOPEN

Page 4: Cursor. Cursors Operations Cursors adalah suatu nama area yang berisi hasil dari suatu statement SQL. 1. OPEN 2. FETCH 3. CLOSE

Function & Procedure

Page 5: Cursor. Cursors Operations Cursors adalah suatu nama area yang berisi hasil dari suatu statement SQL. 1. OPEN 2. FETCH 3. CLOSE

Function

FUNCTION Nama_Function (parameter) RETURN TYPE IS deklarasi variabel

BEGIN statement; statement; RETURN(variable/value);

END;

Page 6: Cursor. Cursors Operations Cursors adalah suatu nama area yang berisi hasil dari suatu statement SQL. 1. OPEN 2. FETCH 3. CLOSE

Procedure

PROCEDURE Nama_Procedure (parameter) IS deklarasi variabel

BEGIN statement; statement;

EXCEPTION

statement;

END;

Page 7: Cursor. Cursors Operations Cursors adalah suatu nama area yang berisi hasil dari suatu statement SQL. 1. OPEN 2. FETCH 3. CLOSE

Parameter Syntax

parameter_name [IN | OUT | IN OUT] datatype [:= expr]

Page 8: Cursor. Cursors Operations Cursors adalah suatu nama area yang berisi hasil dari suatu statement SQL. 1. OPEN 2. FETCH 3. CLOSE

Procedure Parameter Modes

Procedure

IN OUT Argumen

(DECLARE)

BEGIN

END;

EXCEPTION

Calling Environment

IN Argument

OUT Argument

Page 9: Cursor. Cursors Operations Cursors adalah suatu nama area yang berisi hasil dari suatu statement SQL. 1. OPEN 2. FETCH 3. CLOSE

Function Parameter Modes

Function

(DECLARE)

BEGIN

END;

EXCEPTION

Calling Environment

IN Argument

Page 10: Cursor. Cursors Operations Cursors adalah suatu nama area yang berisi hasil dari suatu statement SQL. 1. OPEN 2. FETCH 3. CLOSE

Procedure vs Function

Procedure Function

Execute as a PL/SQL statement

Called as part of an expression

No RETURN datatype Must contain a RETURN datatype

Can return a value Must return a value

Page 11: Cursor. Cursors Operations Cursors adalah suatu nama area yang berisi hasil dari suatu statement SQL. 1. OPEN 2. FETCH 3. CLOSE

Example

DECLARE v_tax number; v_sal emp.salary%TYPE;BEGIN SELECT salary into v_sal

FROM emp WHERE id = 97001;

v_tax := Tax(v_sal);EXCEPTIONWHEN NO_DATA_FOUND THEN

v_tax := 0;END;

FUNCTION Tax(v_value IN NUMBER) RETURN NUMBER IS

BEGIN

RETURN(v_value * .07);

END Tax;

Page 12: Cursor. Cursors Operations Cursors adalah suatu nama area yang berisi hasil dari suatu statement SQL. 1. OPEN 2. FETCH 3. CLOSE

Example

DECLARE v_id emp.id%TYPE := 97001; v_sal emp.salary%TYPE;BEGIN SELECT salary into v_sal FROM emp WHERE id = v_id; Change_Salary(v_id, v_sal*1.1);EXCEPTIONWHEN NO_DATA_FOUND THEN NULL;

END;

PROCEDURE Change_Salary (v_emp_id IN NUMBER, v_new_salary IN NUMBER) IS

BEGIN

UPDATE s_emp

SET salary = v_new_salary

WHERE id = v_emp_id;

COMMIT;

END Change_Salary;