Stored Procedure (create, calling SP dari Oracle dan dari JAVA)

dokumen-dokumen yang mirip
Stored Procedure (create, calling SP dari Oracle dan dari JAVA)

KA2173 Pemrograman Berorientasi Objek. 10 BAB X PENGAKSESAN DATABASE. H a l 64

MODUL 6 JDBC (JAVA DATABASE CONNECTIVITY)

Pemrograman Database Java

STORE PROCEDURE. Pemrograman Client Server Sarji, S.Kom Studi kasus pada

Stored Procedure. M. Saefudin SKom, MMSI

Basis Data 2. Procedure dan Function Database. Arif Basofi, S.Kom. MT. Teknik Informatika, PENS

Pertemuan VI F U N C T I O N

TUJUAN. Memahami Koneksi dan Pemrosesan Basis Data di Java Memahami JDBC Menggunakan MySQL pada program Java

Langkah-Langkah Pemrograman JDBC MENGIMPOR PACKAGE JAVA.SQL MEMANGGIL DRIVER JDBC

Tutorial Java Desktop 3 Melakukan Pengambilan data pada JavaDB

Pengenalan APLIKASI DATABASE

KA2173 Pemrograman Berorientasi Objek. 9 BAB IX PEMROGRAMAN GUI: SWING. H a l 56

Persiapan Table Untuk Latihan Sebelum kita berkenalan lebih jauh dengan Trigger, mari kita buat terlebih dahulu, struktur table yang dibutuhkan.

Belajar Java 2 Tambah, Simpan & Cari Data di Netbeans dengan Database MySQL

visit :

Modul 6 Function dan Trigger

Java Database Connectivity (JDBC)

- Menuliskan business logic dari aplikasi untuk mengakses data source

BAB IX KONEKSI POSTGRESQL PADA JAVA (Netbeans)

JDBC. Imam Fahrur Rozi

Contoh 3.1: Membuat suatu store procedure supaya menghapus semua pertandingan pemain berdasarkan nomor pemain yang ditentukan.

Java Database Connectivity (JDBC) (Minggu 5 Praktikum II)

Masukkan connector tersebut ke dalam direktori pada tempat jdk di-instal dengan path

Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs.

PRAKTIKUM PL/SQL (Trigger) OLEH : WIRATMOKO YUWONO, ST

Computer Science, University of Brawijaya. Putra Pandu Adikara, S.Kom. Trigger. Basis Data 2

- Menuliskan business logic dari aplikasi untuk mengakses data source

Transact-SQL (Trigger- Event, Store Procedure)

LAPORAN MATA KULIAH PERANCANGAN SISTEM BERBASIS JAVA

BAB IV IMPLEMENTASI DAN PEMBAHASAN SISTEM. Pada tahap ini merupakan tahapan implementasi dari

uri=" prefix="logic"%>

Praktikum TRANSACT SQL. Tujuan : Praktikan mampu untuk mengerti dan memahami Transact-SQL

TUTORIAL SEDERHANA, JAVA (Swing) dan MYSQL (SELECT dan INSERT)

Pengertian. Mengapa SP? Mengapa SP? 07/05/2012 STORED PROCEDURE

Transaction dan Trigger. M. Saefudin SKom, MMSI

TRIGGER TRIGGER 5/29/2017 HANI IRMAYANTI, S.KOM

MODUL III ARRAYLIST TUGAS PENDAHULUAN

Praktikum Basis Data 2017 TE UM MODUL 8 TRIGGER A. TUJUAN

Kontrak Kuliah. Stored Procedures and Function. Edi Sugiarto, S.Kom, M.Kom

Tutorial Java Desktop 4 Menampilkan Data dengan Form TextField

TUGAS FRAMEWORK 2 FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA UNIVERSITAS DR. SOETOMO SURABAYA MOCHAMMAD ANNAS FAHRUDIN

DATABASE RUMAH SAKIT 1. Objek yang dipakai a. Pasien b. Dokter c. Ruang d. Petugas e. Rawat_inap f. Pembayaran

LAPORAN TUGAS Pemrograman Berbasis Java

Modul 3 : Query Penggabungan Tabel

Pertemuan VII TRIGGERS

Definisi Eksepsi (exception)

VIEW OR STORED PROCEDURE

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

Tutorial Aplikasi Database Matakuliah Berbasis Java Swing Menggunakan Java Database Connectivity (JDBC)

MySQL Databases. Dasar-dasar MySQL dan Implementasi MySQL kedalam pemrograman PHP. Jakarta, 16 April 2011 Oleh: M. Awaludin, S.Kom

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL

BAB 6 PROGRAM UNITS DAN STRORED PROGRAMS UNITS

SISTEM INFORMASI DATA SISWA

Koneksi Java GUI-Database

CONSTRAINT clients_client_num_pk PRIMARY KEY (client_number));

Bab 5. Database Trigger POKOK BAHASAN: TUJUAN BELAJAR: 5.1. PENDAHULUAN

BAB VIII FUNGSI, PL/PGSQL dan TRIGER

BAB V CURSOR AND RESULT SETS

Firma Firmansyah Adi B. Resume Web Service

Koneksi Java ke MySQL Database. Edi Sugiarto, S.Kom, M.Kom

TPI4202 e-tp.ub.ac.id. Lecture 4 Mas ud Effendi

KONEKSI KE DATABASE DENGAN JDBC

B a s i s D a t a - 1 C H A P T E R. SQL Operasi DML. Copyright 2005 PENS-ITS

Djoni Darmawikarta

Basis Data II. Pertemuan Ke-9 dan ke-10 (Stored Procedure dan Trigger) Noor Ifada S1 T. Informatika - UTM (2012) 1

CARA MENGGUNAKAN SELECT QUERY PADA MYSQL

Praktikum TRIGGER. Tujuan :

MENGENAL SYNTAX DML PADA SQL

Basis Data. Bagian IV SQL (3) Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

MENGAKSES DATABASE DENGAN JDBC

TUGAS BASIS DATA LANJUT

PENDAHULUAN. A. Membuat Database dalam SQL SERVER. 1. Klik Kanan pada databases lalu pilih new database

Arsitektur Aplikasi Perangkat Enterprise JDBC. Antonius Rachmat C, S.Kom, M.Cs

KURSUS ONLINE JASA WEBMASTERS

MODUL PRAKTIKUM KE 9

PL / SQL. Arif Basofi

SmallSQL. (DBMS 100% Murni Java) SmallSQL. Basis Data II. Dosen Pengampu : Noor Ifada. Kelompok BD2-B5

5/6/2010 KONSTRUK PROGRAM PL/SQL PROSEDUR STRUKTUR BLOK PADA BLOK ANONIM PL/SQL OVERVIEW MENGENAI SUBPROGRAM STRUKTUR BLOK PADA SUBPROGRAM PL/SQL

TRIGGER. Tujuan Mata Kuliah. Tools yang digunakan. Sesi7 : TRIGGER. Praktikum Pemrograman Client Server Database Hadi Kusumah, S.T.

Data Manipulation Language (DML)

PRAKTIKUM BASIS DATA TERDISTRIBUSI MODUL 4 SINKRONISASI DATA

Pertemuan 8. Dasar query basis data dengan SQLite ARFIAN HIDAYAT, S.KOM

Pertemuan IV CONDITION & HANDLER CURSOR

Percabangan & Perulangan

MODUL 1 DATABASE MYSQL

PEMROGRAMAN JAVA Sistem gudang

Modul Praktikum Pemrograman

Widhy Hayuhardhika NP, S.Kom

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

Data Manipulation Language (DML) & Data Control Language (DCL) pada Database

IKG2I4 / Software Project I

Praktikum 2 Mata Kuliah : Sistem Pengolahan Basis Data Dosen : Nandang Hermanto

2 TIPE DATA DAN VARIABEL

Untuk mencoba contoh-contoh perintah join, silahkan eksekusi query create+insert dibawah ini:

STRUCTURE QUERY LANGUAGE (SQL)

SUMBER BELAJAR PENUNJANG PLPG

PEMROGRAMAN VB.NET. Koneksi Ke Database

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2

Lampiran Utama. a. Struktur Organisasi. Factory Manager. Vice Factory Manager. Non Produksi. Produksi. Dept. Power. Dept Greyee. Dept.

Transkripsi:

Stored Procedure (create, calling SP dari Oracle dan dari JAVA) Mari mengingat stored procedure lagi #Demi belajar :D Disini saya akan mencoba menjelaskan sedikit tentang stored procedure dan cara pemanggilannya dari class Java. Stored procedure memungkinkan business logic disimpan didalam database. Dengan menggunakan stored procedure maka aplikasi akan terdistribusi. Eksekusi satu perintah CALL pada aplikasi dapat membentuk sejumlah pekerjaan pada server aplikasi. Store procedure memiliki kemampuan antara lain : Menerima parameter input dan mengembalikan beberapa nilai parameter output dari procedure yang dipanggil. Mengandung statement pemrograman yang melakukan operasi terhadap database termasuk memanggil store procedure lain. Memberikan status yang mengindikasikan keberhasilan atau kegagalan eksekusi store procedure. Keuntungan pemakaian store procedure adalah : Merupakan pemrograman modular. Store procedure dibuat sekali dan dapat dipakai berulang untuk komputasi yang sama. Memungkinkan eksekusi lebih cepat. Ketika pertama kali dijalankan store procedure akan tersimpan dalam memori. Sehingga memungkinkan eksekusi berikutnya lebih cepat. Mengurangi trafik jaringan client/server. Barisan kode transact SQL yang seharusnya dilewatkan jaringan, akan digantikan dengan statement tunggal pemanggilan store procedure. Dapat digunakan sebagai mekanisme security Pengguna dimungkinkan mengeksekusi Store procedure, walau mungkin tidak dapat mengeksekusi procedure didalamnya secara langsung. Create Stored Procedure di Database Berikut contoh stored procedure untuk menampilkan tanggal hari ini. CREATE OR REPLACE PROCEDURE today_is AS -- menampilkan current system date dalam long format DBMS_OUTPUT.PUT_LINE( 'Today is ' TO_CHAR(SYSDATE, 'DL') ); END today_is; /

Keterangan : CREATE OR UPDATE today_is AS.. END : CREATE perintah untuk membuat stored procedure. Seandainya stored procedure telah ada maka stored procedure akan digantikan dengan stored procedure yang baru dibuat. : Nama stored procedure. : AS menyatakan deklarasi. Tulis variable setelah AS (jika ada). : Penempatan business logic atau operasi lainnya. DBMS_OUTPUT.PUT_LINE : Untuk menampilkan result. Menjalankan Stored Procedure system.today_is(); end; Result yang ditampilkan Today is Thursday, January 12, 2012 ================================================================== Contoh Stored Procedure(SP) untuk Select, Insert, Update, Delete Row di table 1. Create Table Sebelum membuat stored procedure, pertama-tama coba buat table. Sebagai contoh, buatlah 2 table, testsystem dan testpayment.

Table testsystem create table testsystem ( systemno varchar(20), invoiceno varchar(20), seller varchar(20), ); insert into testsystem(systemno, invoiceno, seller) values('sy001', 'IV001', 'seller1'); insert into testsystem(systemno, invoiceno, seller) values('sy002', 'IV002', 'seller2'); Table testpayment create table testpayment ( paymentno varchar(20), paymentsource varchar(20), systemno varchar(20) ) insert into testpayment(paymentno, paymentsource, systemno) values('py001', 'Buyer A', 'SY001'); insert into testpayment(paymentno, paymentsource, systemno) values('py001', 'Buyer B', '12323231', 'SY002'); insert into testpayment(paymentno, paymentsource, systemno) values('py002', 'Buyer1', 'SY001'); 2. SP Select Menampilkan system no dan payment no. --untuk comment gunakan (--) --jangan lupa akhiri setiap statement dengan (;) --sysno = parameter yang di input CREATE OR REPLACE PROCEDURE cektesting(sysno IN varchar2) AS --declare variable dan tipe datanya ppaymentno varchar2(20); psystemno varchar2(20); datanotfound EXCEPTION; --untuk exception --menampilkan invoiceno SELECT systemno, paymentno INTO psystemno, ppaymentno from testpayment where systemno = sysno; --sesuai dengan sysno yang di input --kondisi untuk menangkap exception IF pinvoiceno IS NOT NULL THEN DBMS_OUTPUT.PUT_LINE('System No ' psystemno ' - ' 'PaymentNo ' ' - ' ppaymentno); ELSE RAISE datanotfound; END IF; end cektesting;

--calling stored procedure cektesting('sy001'); --SY001 = systemno yang diinput end; 3. SP Remove Menghapus row dari table testsystem. CREATE OR REPLACE PROCEDURE removesysno (sysno varchar) AS tot NUMBER; DELETE FROM testsystem WHERE testsystem.systemno = removesysno.sysno; tot := tot - 1; --calling stored procedure removesysno('sy002'); end; 4. SP Update Update nilai seller di table testsystem CREATE OR REPLACE PROCEDURE updateseller (sysno varchar, seller1 varchar) AS UPDATE testsystem SET seller = seller1 WHERE testsystem.systemno = sysno; --calling stored procedure system.updateseller('sy001', 'Seller Coba'); atau call updateseller('sy001', 'Seller Coba');

5. SP Insert Insert hasil join table testsystem dengan testpayment ke table baru (table test). Untuk itu, kita harus create table test terlebih dahulu. -create table test yang akan di-insert oleh SP create table test ( systemno varchar(20), invoiceno varchar(20), seller varchar(20), paymentno varchar(20), paymentsource varchar(20) ) CREATE OR REPLACE PROCEDURE InsertSystemNo (sysno varchar) AS psystemno varchar(20); pinvoiceno varchar(20); pselller varchar(20); ppaymentno varchar(20); ppaymentsource varchar(20); select s.systemno, s.invoiceno, s.seller, pay.paymentno, pay.paymentsource INTO psystemno, pinvoiceno, pselller, ppaymentno, ppaymentsource from system.testsystem s join system.testpayment pay on s.systemno = pay.systemno where s.systemno = sysno; INSERT INTO TEST VALUES (psystemno, pinvoiceno, pselller, ppaymentno, ppaymentsource); --calling stored procedure InsertSystemNo('SY002'); Calling Stored Procedure dari Java Sebelum menulis syntax untuk memanggil stored procedure, hal pertama yang harus dimasukkan ke project java adalah library ojdbc.jar. Disini, kita mencoba untuk memanggil stored procedure updateseller.

Package Test; import java.sql.callablestatement; import java.sql.connection; import java.sql.databasemetadata; import java.sql.drivermanager; import java.sql.resultset; import java.sql.statement; import java.sql.types; public class CallStoredProcedureFromDB { public static void main(string[] args) { try { Class.forName("oracle.jdbc.driver.OracleDriver"); Connection conn = DriverManager.getConnection( "jdbc:oracle:thin:@dosma-pc:1521:xe", "system", "123456"); //call stored procedure update seller // terdiri dari 2 parameter, makanya ada 2? CallableStatement csmt = conn.preparecall("{call updateseller(?,?)}"); csmt.setstring(1, "SY002"); // set parameter yang bertipe String csmt.setstring(2, "Seller dua"); // jika tipenya int, maka setinteger csmt.execute(); // jalankan statement // Get database metadata //DatabaseMetaData dbmd = conn.getmetadata(); // // Get all stored procedures in any schema and catalog //ResultSet resultset = dbmd.getprocedures(null, null, "%"); // //Get stored procedure names from the result set //while (resultset.next()) { //String procname = resultset.getstring(3); //System.out.println(procName); //} } } catch (Exception e) { e.printstacktrace(); } } Tikaa http://black9innocent.wordpress.com/