Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

© Ilmu Komputer UGM Stored Procedure MySQL 5.

Presentasi serupa


Presentasi berjudul: "© Ilmu Komputer UGM Stored Procedure MySQL 5."— Transcript presentasi:

1 © Ilmu Komputer UGM seagatejogja@ugm.ac.id Stored Procedure MySQL 5

2 © Ilmu Komputer UGM seagatejogja@ugm.ac.id Definisi Stored procedure adalah kumpulan dari statemen SQL yang digunakan secara bersama-sama. Stored procedure menginjinkan penggunaan statemen SQL lebih dari sekedar statemen SQL biasa untuk meretrieve dan mengupdate database. Stored procedure mendukung penggunaan variable, kondisi, flow control dan cursor. Stored procedure dapat terdiri dari paling tidak satu statemen sampai dengan ratusan/ribuan baris.

3 © Ilmu Komputer UGM seagatejogja@ugm.ac.id Keuntungan Memungkinkan kita menggunakan beberapa statemen query sekaligus. Efisiensi hasil query yang diproses/dikirimkan ke klien. Memberikan interface yang sederhana terhadap data dari klien. Pengelolaan query menjadi lebih mudah dan terpusat. Memudahkan ketika adanya proses optimasi dan perubahan pada business proses Meningkatkankeamanan

4 © Ilmu Komputer UGM seagatejogja@ugm.ac.id Kerugian Membebani database server Lebih kelihatan kompleks

5 © Ilmu Komputer UGM seagatejogja@ugm.ac.id

6 © Ilmu Komputer UGM seagatejogja@ugm.ac.id Sample Database Database yang digunakan adalah database Northwind.

7 © Ilmu Komputer UGM seagatejogja@ugm.ac.id Parameter ::= –CREATE PROCEDURE ( [ ] ) – ::= – [, ]... ::= –[ IN | OUT | INOUT ]

8 © Ilmu Komputer UGM seagatejogja@ugm.ac.id CREATE PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic...] routine_body proc_parameter: [ IN | OUT | INOUT ] param_name type characteristic: –LANGUAGE SQL | –[NOT] DETERMINISTIC | –{ CONTAINS SQL | NO SQL | –READS SQL DATA | –MODIFIES SQL DATA } | –SQL SECURITY { DEFINER | INVOKER } | –COMMENT 'string' routine_body: Valid SQL procedure statements or statements

9 © Ilmu Komputer UGM seagatejogja@ugm.ac.id Contoh Create procedure tampil_customers() Select * from customers; Digunakan untuk menampilkan seluruh data customer; Call tampil_customers();

10 © Ilmu Komputer UGM seagatejogja@ugm.ac.id delimiter // create procedure cari_customer(in cust_id varchar(5), out comp_name varchar(40)) begin select companyname from customers where customerid = cust_id into comp_name; end //

11 © Ilmu Komputer UGM seagatejogja@ugm.ac.id Call cari_customer(‘ANTON’,@name) Select @name

12 © Ilmu Komputer UGM seagatejogja@ugm.ac.id Query data dgn Select Into ::= [ [ ] [ ] ] ::= | ::= INTO [, ]...

13 © Ilmu Komputer UGM seagatejogja@ugm.ac.id create procedure kali_belanja (in cust_id varchar(5), out kali_belanja int) begin select count(cust_id) into kali_belanja from orders where customerid = cust_id; end

14 © Ilmu Komputer UGM seagatejogja@ugm.ac.id Call kali_belanja(‘ANTON’,@A); Select @A;

15 © Ilmu Komputer UGM seagatejogja@ugm.ac.id Tugas Tampilkan nama employee dengan id tertentu dan berapa kali mereka melayani customernya. Tampilkan nama customer dengan id tertentu dan besarnya discount yang diperoleh. Tampilkan nama customer dengan id tertentu dan berapa kali mereka bertransaksi. Tampilkan nama barang dengan kode tertentu dan berapa kali ditransaksikan. Tampilkan nama customer dengan id tertentu dan berapa besar nilai yang sudah mereka transaksikan.

16 mysql> delimiter // mysql> create procedure empproc(in name char(12),in fathername char(12),in password char(12)) -> begin -> insert into emp values(name,fathername,password); -> end; -> // © Ilmu Komputer UGM seagatejogja@ugm.ac.id

17 mysql> delimiter // mysql> CREATE PROCEDURE Proc(OUT p VARCHAR(20), OUT p1 VARCHAR(20),IN p2 INT) -> BEGIN -> INSERT INTO Emp VALUES(p2,'Suman','Pune','Web Designer',20000,965); -> SELECT Ename,City INTO p,p1 FROM Emp WHERE Eid=p2; - > END -> // Query OK, 0 rows affected (0.01 sec) mysql> delimiter ; mysql> CALL Proc(@Name,@City,8); Query OK, 0 rows affected (0.03 sec) mysql> SELECT @Name,@City; © Ilmu Komputer UGM seagatejogja@ugm.ac.id

18 mysql> CREATE FUNCTION func(str CHAR(20)) -> RETURNS CHAR(50) -> RETURN CONCAT('WELCOME TO, ',str,'!'); Query OK, 0 rows affected (0.00 sec) mysql> SELECT func('RoseIndia'); © Ilmu Komputer UGM seagatejogja@ugm.ac.id

19 © Ilmu Komputer UGM seagatejogja@ugm.ac.id


Download ppt "© Ilmu Komputer UGM Stored Procedure MySQL 5."

Presentasi serupa


Iklan oleh Google