Dikompilasi Oleh : Ary Bima Kurniawan ST., MT.

Slides:



Advertisements
Presentasi serupa
Widhy Hayuhardhika NP, S.Kom.  PHP – MySql installed  MySql telah running (cek xampp control panel)  Database  Tabel  Query  SQL (Structured Query.
Advertisements

Error Handling (Exception) & INDEX
UNIVERSITAS BUDI LUHUR FAKULTAS TEKNOLOGI INFORMASI HAL : 1 Pemrograman VB.NET Pertemuan 4.
BEKERJA DENGAN COMMAND LINE
PENGENALAN PL/SQL.
Dikompilasi Oleh : Ary Bima Kurniawan ST., MT.
PL/SQL - LANJUTAN PERULANGAN KONDISI.
Transact-SQL Disampaikan oleh: Agus Wahyu Widodo, ST
DML Lanjutan Pertemuan Minggu Ke-10.
TRIGGER.
Stored Procedure Basis Data Terapan.
Triggers & Stored Procedure The main reference of this presentation is from book: Peter Rob, Carlos Coronel, “Database systems: Design, Implementation.
Konsep Database. S D L C Strategy and Analysis Design Build n Document Transition Production.
Oracle : Form/Report Developer
Konsep Dasar User dan Schema Database
PL/SQL PROGRAMMING PL/SQL adalah prosedur berkelanjutan dari Oracle -SQL yang menawarkan satu bentuk bahasa pemrograman. PL/SQL memungkinkan user atau.
Pemrograman Web/MI/D3 sks
STORED PROCEDURE Achmad Yasid, SKom.
Dikompilasi Oleh : Ary Bima Kurniawan ST., MT.
PEMROGRAMAN IMPERATIF
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.
P E R T E M U A N 12 SISTEM BASIS DATA.
Data Types Data Definition Language Referential Constraint SQL Query
Dikompilasi Oleh : Ary Bima Kurniawan ST., MT.
Oracle : Form/Report Developer
- PERTEMUAN 4- EXCEPTION
CURSOR Siti Mukaromah, S.Kom 1. D EFINISI Cursor adalah nama untuk sebuah area SQL dimana informasi untuk pemrosesan pernyataan SQL yang sifatnya spesifik.
Dikompilasi Oleh : Ary Bima Kurniawan ST., MT.
Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs.
Cursor MI2163 Dasar Pemrograman Basis Data. Introduction Cursor merupakan suatu variabel yang digunakan untuk menampung hasil query yang terdiri atas.
HANDLING EXCEPTIONS.
Dikompilasi Oleh : Ary Bima Kurniawan ST., MT.
Dikompilasi Oleh : Ary Bima Kurniawan ST., MT.
C U R S O R.
Exception Handling: Non Predefined Exception
PACKAGE.
Stored Function Tanpa Parameter
Tujuan Pembelajaran Mampu menjelaskan dan mendemokan konsep overload pada subprogram; Mampu menjelaskan dan mendemokan cara membangun initialization.
PENJURUSAN DI ORACLE ORACLE DEVELOPER
DEKLARASI VARIABEL DALAM PL/SQL
STORED PROCEDURE & TRIGGER
SQL (Structure Query Language)
TRIGGER.
SQL OVERVIEW.
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
Query dalam sql server Pertemuan 6.
Structured Query Language (SQL)
Dikompilasi Oleh : Ary Bima Kurniawan ST., MT.
PROCEDURE, FUCTION, ARRAY
CURSOR.
Dikompilasi Oleh : Ary Bima Kurniawan ST., MT.
FUNCTION Kelompok 2 : Dewi sandra ( ) Krisna indriarti ( ) Setiyono lukito ( ) Guruh tri L ( )
Dikompilasi Oleh : Ary Bima Kurniawan ST., MT.
Pemrograman Berorientasi Objek II
Structured Query Language (SQL)
Basis Data Bab 3 Structured Query Language (SQL).
Dikompilasi Oleh : Ary Bima Kurniawan ST., MT.
PRAKTIKUM SISTEM BASIS DATA
Java Database Connectivity (JDBC)
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:

Dikompilasi Oleh : Ary Bima Kurniawan ST., MT. EKSEPSI Dikompilasi Oleh : Ary Bima Kurniawan ST., MT.

Pendahuluan Blok Eksepsi (exception block) adalah blok yang digunakan untuk menjebak error yang mungkin terdjadi di dalam blok PL/SQL Eksepsi (exception) merupakan jenis-jenis error yang menyebabkan terhentinya program secara tidak normal

Tujuan dan Jenis Tujuan Blok Eksepsi adalah menangani error-error yang telah didefinisikan menjadi sebuah eksepsi sehingga meskipun terdapat error, error tersebut tidak akan ditampilkan melainkan dilempar ke bagian eksepsi Jenis Eksepsi : Pre-defined exception User-defined exception

Bentuk Umum Eksepsi EXCEPTION WHEN eksepsi_pertama THEN statemen_utk_mengatasi_eksepsi_pertama; WHEN eksepsi_kedua THEN statemen_utk_mengatasi_eksepsi_kedua; ... WHEN OTHERS THEN statemen_utk_mengatasi_eksepsi_lainnya; END;

Pre-defined Exception Adalah sebuah eksepsi yang telah didefinisikan atau sudah tersedia dalam Oracle, sehingga dapat langsung menggunakan tanpa harus membuatnya terlebih dahulu

Contoh 1, Tanpa blok eksepsi SET SERVEROUTPUT ON DECLARE X INTEGER; Y NUMBER; BEGIN X := 0; Y := 1 / X; DBMS_OUTPUT.PUT_LINE(‘Nilai Y = ‘ || TO_CHAR(Y)); END; / Hasil yang muncul dilayar: ORA-01476 : divisior is equal to zero

Contoh 1, Dengan blok eksepsi SET SERVEROUTPUT ON DECLARE X INTEGER; Y NUMBER; BEGIN X := 0; Y := 1 / X; DBMS_OUTPUT.PUT_LINE(‘Nilai Y = ‘ || TO_CHAR(Y)); EXCEPTION WHEN ZERO_DEVIDE THEN DBMS_OUTPUT.PUT_LINE(‘Terjadi kesalahan karena terdapat ‘ || ‘pembagian dengan 0 (NOL) ‘); END; /

Contoh 2, Tanpa blok eksepsi SET SERVEROUTPUT ON DECLARE X NUMBER; BEGIN X := ‘Budi Raharjo’; DBMS_OUTPUT.PUT_LINE(‘Nilai X = ‘ || TO_CHAR(X) ); END; / Hasil yang muncul dilayar : ORA-06502: PL/SQL: numeric or value error

Contoh 2, Dengan blok eksepsi SET SERVEROUTPUT ON DECLARE X NUMBER; BEGIN X := ‘Budi Raharjo’; DBMS_OUTPUT.PUT_LINE(‘Nilai X = ‘ || TO_CHAR(X) ); EXCEPTION WHEN VALUE_ERROR THEN DBMS_OUTPUT.PUT_LINE(‘Pengisian nilai tidak sesuai dengan ‘ || ‘tipe variabel’); END; /

Nama Eksepsi Kode Error Keterangan CURSOR_ALREADY_OPEN ORA-6511 Cursor masih dalam keadaan terbuka DUP_VALUE_ON_INDEX ORA-0001 Duplikasi constraint INVALID_CURSOR ORA-1001 Membuka cursor yang salah INVALID_NUMBER ORA-1722 Melakukan operasi numerik pada tipe non-numerik LOGIN_DENIED ORA-1017 Username/password salah NO_DATA_FOUND ORA-1403 Tidak terdapat data pada query NOT_LOGGED_ON ORA-1012 Melakukan operasi database ketika tidak terhubung (connect) PROGRAM_ERROR ORA-6501 Kesalahan internal ROWTYPE_MISMATCH ORA-6504 Host variabel dan cursor mempunyai tipe yang tidak sama STORAGE_ERROR ORA-6500 TYMEOUT_ON_RESOURCE ORA-0051 Terjadi timeout TOO_MANY_ROWS ORA-1422 Statemen SELECT INTO yang mengembalikan lebih dari satu baris TRANSACTION_BACKED_OUT ORA-006 Rollback transaksi untuk didealokasikan VALUE_ERROR ORA-6502 Konversi atau truncation salah ZERO_DEVIDE ORA-1476 Pembagian dengan nol

User-defined Exception Untuk membuat sebuah eksepsi, diperlukan : Variabel bertipe EXCEPTION Dihubungkan dengan tipe PRAGMA EXCEPTION_INIT Kode error harus negatif (-) Bentuk Umum : DECLARE nama_eksepsi EXCEPTION; PRAGMA EXCEPTION_INIT (nama_eksepsi, kode_error);

Contoh tanpa eksepsi SET SERVEROUTPUT ON DECLARE X ROWID; BEGIN SELECT ROWID INTO X FROM ALL_VIEWS; END; / Hasil yang tampil dilayar : ORA-01445: Cannot select ROWID from view of more than one table

Contoh dengan eksepsi SET SERVEROUTPUT ON DECLARE eksepsiku EXCEPTION; PRAGMA EXCEPTION_INIT(eksepsiku, -10445); X ROWID; BEGIN SELECT ROWID INTO X FROM ALL_VIEWS; EXCEPTION WHEN eksepsiku THEN DBMS_OUTPUT.PUT_LINE(‘KESALAHAN : Tidak dapat ‘ || ‘menampilkan ROWID dari beberapa tabel atau view’); END; /

Pustaka Pemrograman PL/SQL ORACLE Imam Heryanto dan Budi Raharjo Penerbit Informatika Bandung 2003