C U R S O R.

Slides:



Advertisements
Presentasi serupa
Error Handling (Exception) & INDEX
Advertisements

Database Create-Retrieve-Update-Delete (CRUD)
Dikompilasi Oleh : Ary Bima Kurniawan ST., MT.
Tentukan tipe data dari variable – variable penampung hasil pada beberapa statement dibawah ini : v_satu := v_name || to_char(v_empno);  Tipe data v_satu.
TRIGGER.
Triggers & Stored Procedure The main reference of this presentation is from book: Peter Rob, Carlos Coronel, “Database systems: Design, Implementation.
Oracle : Form/Report Developer
Oracle : Form/Report Developer
PL/SQL PROGRAMMING PL/SQL adalah prosedur berkelanjutan dari Oracle -SQL yang menawarkan satu bentuk bahasa pemrograman. PL/SQL memungkinkan user atau.
STORED PROCEDURE Achmad Yasid, SKom.
Dikompilasi Oleh : Ary Bima Kurniawan ST., MT.
TRIGGER.
Data Definition Language dan Data Manipulation Language
CURSORS Nama kelompok 10 Rizka Annisa
Triggers & Stored Procedure The main reference of this presentation is from book: Peter Rob, Carlos Coronel, “Database systems: Design, Implementation.
Tabled Value Parameter. Tabled Value Parameter merupakan tipe data yang dibuat oleh user Tabled Value Parameter digunakan untuk mengirimkan multiple rows.
Deklarasi dan Assignment Variable
SQL (Structure Query Language)
Oracle : Form/Report Developer
Dikompilasi Oleh : Ary Bima Kurniawan ST., MT.
CURSOR Siti Mukaromah, S.Kom 1. D EFINISI Cursor adalah nama untuk sebuah area SQL dimana informasi untuk pemrosesan pernyataan SQL yang sifatnya spesifik.
STRUCTURED QUERY LANGUAGE (SQL)
Jawaban UTS Pemrograman Basis Data ( ) Pemrograman Basis Data ( ) Genap
Dikompilasi Oleh : Ary Bima Kurniawan ST., MT.
SQL (Structure Query Language) Pertemuan 3 – RESTRICTING AND SORTING DATA sy urf gm ail. co m.
SQL-Pembatas dan Pengurutan Data
Cursor MI2163 Dasar Pemrograman Basis Data. Introduction Cursor merupakan suatu variabel yang digunakan untuk menampung hasil query yang terdiri atas.
Disampaikan Oleh : Wiratmoko Yuwono
HANDLING EXCEPTIONS.
Disampaikan Oleh : Wiratmoko Yuwono
Dikompilasi Oleh : Ary Bima Kurniawan ST., MT.
Dikompilasi Oleh : Ary Bima Kurniawan ST., MT.
Exception Handling: Non Predefined Exception
PACKAGE.
Exception Handling: User-defined Exception
Stored Function Tanpa Parameter
TRIGGER (Statement & Row Trigger)
PENJURUSAN DI ORACLE ORACLE DEVELOPER
STORED PROCEDURE & TRIGGER
SQL (Structure Query Language)
Praktikum Berkas dan Basis Data
TRIGGER.
Blok PL/SQL Non Modular dan Modular
“Array, Procedure dan Function”
Anonymous Blok PL/SQL dan Tipe Data
Stored Procedure Tanpa Parameter
Dikompilasi Oleh : Ary Bima Kurniawan ST., MT.
Stored Function Dengan Parameter
Structured Query Language
Query dalam sql server Pertemuan 6.
BAB ENHANCED DATA MODELS FOR ADVANCED APPLICATIONS
Structured Query Language (SQL)
Dikompilasi Oleh : Ary Bima Kurniawan ST., MT.
PROCEDURE, FUCTION, ARRAY
CURSOR.
Dikompilasi Oleh : Ary Bima Kurniawan ST., MT.
PRAKTIKUM BASIS DATA (6) TEKNIK INFORMATIKA UNIVERSITAS MERCU BUANA
FUNCTION Kelompok 2 : Dewi sandra ( ) Krisna indriarti ( ) Setiyono lukito ( ) Guruh tri L ( )
CURSOR.
FUNCTION Muzamil Indra ( ) Oky Putranto ( )
CURSOR.
Dikompilasi Oleh : Ary Bima Kurniawan ST., MT.
PERCABANGAN IF Minggu 02.
Structured Query Language (SQL)
Dikompilasi Oleh : Ary Bima Kurniawan ST., MT.
Referensi Bahasa MySQL
ORACLE PL/SQL TRIGGER Program Studi D3 Teknik Informatika -Fakultas Ilmu Terapan.
PL/SQL Program Studi D3 Teknik Informatika -Fakultas Ilmu Terapan.
PL/SQL CURSOR Program Studi D3 Teknik Informatika -Fakultas Ilmu Terapan.
CURSOR.
Transcript presentasi:

C U R S O R

MENGAPA HARUS ADA CURSOR ? PL/SQL TIDAK MENGIJINKAN MENAMPILKAN BEBERAPA BARIS MENGGUNAKAN PERINTAH SELECT

APAKAH CURSOR ITU ? SEJENIS VARIABEL YANG DIGUNAKAN UNTUK MENAMPUNG BANYAK NILAI BERUPA BARIS ATAU RECORD

PEMBAGIAN CURSOR EKSPLISIT : CURSOR YANG DIBUKA DAN DITUTUP SECARA MANUAL ATRIBUT : %FOUND (BARIS DITEMUKAN) %NOTFOUND (BARIS TIDAK DITEMUKAN) %ROWCOUNT (JUMLAH BARIS YANG DIAMBIL OLEH FECTH) %ISOPEN (BERNILAI TRUE KALAU CURCOR MASIH TERBUKA)

CURSOR EKSPLISIT DECLARE NAMA_VARIABEL TIPE DATA; CURSOR NAMA_CURSOR IS SELECT........................................ ; OPEN NAMA_CURSOR; FETCH NAMA_CURSOR INTO NAM_VARIABEL; CLOSE NAMA_CURSOR;

CONTOH CURSOR EKSPLISIT (DEKLARASI) set serveroutput on declare vgaji gaji%rowtype; cursor gaji is select last_name, salary, department_id from employees where department_id=50 order by last_name;

CONTOH CURSOR EKSPLISIT (BODY) begin open gaji; loop fetch gaji into vgaji; exit when gaji%notfound; dbms_output.put_line(vgaji.last_name ||‘ '||vgaji.salary||' '||vgaji.department_id); end loop; close gaji; end; /

PEMBAGIAN CURSOR IMPLISIT : CURSOR YANG TIDAK PERLU DIDEKLARASIKAN DAN BERGABUNG DENGAN PERINTAH INSERT, DELETE DAN UPDATE ATRIBUT : SQL%FOUND (BERNILAI TRUE BILA TIDAK DITEMUKAN) %NOTFOUND (KEBALIKANNYA) %ROWCOUNT (MENUNJUKAN BANYAK BARIS YANG DIBERIKAN OLEH QUERY PADA USER) %ISOPEN (BERNILAI TRUE PADA SAAT EKSEKUSI)

CONTOH CURSOR IMPLISIT (1) set serveroutput on DECLARE baris number(5); BEGIN UPDATE employees SET salary = salary + 1000; IF SQL%NOTFOUND THEN dbms_output.put_line('Tidak ada Gaji berbasil di update');

CONTOH CURSOR IMPLISIT (2) ELSIF SQL%FOUND THEN baris := SQL%ROWCOUNT; dbms_output.put_line('Gaji ' || baris ||’ Sudah di update'); END IF; end; /

HANDLING EXCEPTIONS

PEMBAGIAN HANDLING EXCEPTIONS PREDEFINED EXCEPTION : kondisi exception yang sudah didefinisikan dalam oracle USER DEFINED EXCEPTION : penanganan error yang didefinisikan oleh programmer

CONTOH PREDEFINED EXCEPTION set serveroutput on DECLARE nama VARCHAR2(15); BEGIN SELECT last_name INTO nama FROM employees WHERE first_name='John’; dbms_output.put_line(‘John is last name is : ‘||nama); End;/

CONTOH PREDEFINED EXCEPTION set serveroutput on DECLARE nama VARCHAR2(15); BEGIN SELECT last_name INTO nama FROM employees WHERE first_name='John'; dbms_output.put_line('John is last name is : '||nama);

CONTOH PREDEFINED EXCEPTION WHEN TOO_MANY_ROWS THEN dbms_output.put_line('Pernyataan SELECT yang menampilkan banyak baris harus menggunakan cursor'); end; /

CONTOH PREDEFINED EXCEPTION (1) set serveroutput on DECLARE vempid employees.employee_id%TYPE:=199; vnama employees.last_name%TYPE;

CONTOH PREDEFINED EXCEPTION (2) BEGIN SELECT last_name INTO vnama FROM employees WHERE employee_id=vempid; dbms_output.put_line('Namanya : '||vnama);

CONTOH PREDEFINED EXCEPTION (2) WHEN NO_DATA_FOUND THEN dbms_output.put_line('Data Tidak Ada'); end; /

CONTOH USER DEFINED EXCEPTION (1) set serveroutput on DECLARE vempid employees.employee_id%TYPE; vnama employees.last_name%TYPE; vsal employees.salary%TYPE; pesan exception;

CONTOH USER DEFINED EXCEPTION (2) BEGIN SELECT last_name,salary INTO vnama,vsal FROM employees WHERE employee_id=182; dbms_output.put_line(vnama||' '||vsal); if vsal < 3000 then raise pesan; end if;

CONTOH USER DEFINED EXCEPTION (3) WHEN pesan then dbms_output.put_line('Gaji dibawah $3000'); end; /

PROCEDURE DAN FUNCTION

PROCEDURE CREATE OR REPLACE PROCEDURE TAMPIL IS VSAL EMPLOYEES.SALARY%TYPE; BEGIN SELECT SALARY INTO VSAL FROM EMPLOYEES WHERE EMPLOYEE_ID=199; DBMS_OUTPUT.PUT_LINE(VSAL); END; /

PROCEDURE EXEC TAMPIL; BEGIN TAMPIL; END; /

MENJALANKAN PROCEDURE CREATE OR REPLACE PROCEDURE INPUT_TAMPIL(VEMPID NUMBER) IS VNAMA EMPLOYEES.LAST_NAME%TYPE; VSAL EMPLOYEES.SALARY%TYPE; BEGIN SELECT LAST_NAME,SALARY INTO vNAMA,vSAL FROM EMPLOYEES WHERE EMPLOYEE_ID=VEMPID; DBMS_OUTPUT.PUT_LINE('NAMANYA : '||VNAMA||' GAJINYA : '||VSAL); END; /