store procedure

12
Praktek Pemograman Client-Server 3 MI dan 3 TI © Diqy Fakhrun S., S.T

Upload: guerra-guerra

Post on 18-Aug-2015

44 views

Category:

Data & Analytics


6 download

TRANSCRIPT

Page 1: Store procedure

Praktek Pemograman Client-Server

3 MI dan 3 TI

© Diqy Fakhrun S., S.T

Page 2: Store procedure

Stored Procedure• Stored procedure program yang disimpan

dalam database dan dikompilasi bila digunakan– Dalam Oracle, dapat ditulis dalam PL / SQL

atau Java– Dalam SQL Server, dapat ditulis dalam

Transact-SQL atau CLR• Stored Procedure yang disimpan dapat

menerima parameter input dan dapat mengembalikan hasil

• Stored Procedure yang disimpan dapat dipanggil dari– Program yang ditulis dalam bahasa standar,

misalnya: Java, C #– Scripting bahasa, misalnya: JavaScript,

VBScript– SQL command prompt, misalnya: sqlcmd,

SQL Plus, Query Analyzer

Page 3: Store procedure

Kelebihan Stored Procedure• Keamanan lebih

– stored procedure selalu tersimpan pada database server

– Memberikan grant user permission utk menjalankan SP

• Mengurangi lalu lintas jaringan – SP dapat mengurangi query SQL panjang

menjadi satu baris yang ditransmisikan sehingga mengurangi lalu lintas client-server.

Page 4: Store procedure

Kelebihan Stored Procedure• Waktu Eksekusi lebih cepat

– Bila perlu T-SQL yang banyak dan berulang-ulang, maka SP bisa lebih cepat drpd batch T-SQL code. SP dicompile sekali, disimpan dalam memory dan digunakan untuk pemanggilan berikutnya (tidak perlu dikompilasi ulang). SQL dapat dioptimasikan oleh DBMS compiler

• Berbagi-pakai kode modular berimbas pada:– Mengurangi pekerjaan berlebih – penggunaan

ulang kode secara efisien– Standarisasi pemrosesan– Spesialisasi antara developer

Page 5: Store procedure

Dasar Stored Procedure

Page 6: Store procedure

Membuat Stored Procedure

• Sintaks:CREATE PROCEDURE NamaProsedur AS

Peryataan

• Contoh:CREATE PROCEDURE pr_honor AS

SELECT namainstruktur, honor FROMInstruktur

Page 7: Store procedure

Menjalankan Stored Procedure

• dengan EXEC – EXEC pr_honor– EXEC sp_help

• dengan EXECUTE– EXECUTE pr_honor– EXECUTE sp_help

• langsung nama prosedur– pr_honor– sp_help

Page 8: Store procedure

Mengkoreksi Sebuah Prosedur

• Statement ALTER harus digunakan

ALTER PROCEDURE pr_honor AS select inisial, namainstruktur, honorfrom instruktur

Page 9: Store procedure

Parameter• Prosedur dapat mempunyai parameter berupa

variable yang disuplai oleh program yang memanggilnya

• Sintaks parameter– @param as datatype

• Contoh:

CREATE PROC pr_honor (@p1 int, @p2 char(16), .. )

ASPeryataan

Page 10: Store procedure

Parameter• Input parameter

– Digunakan untuk memberikan nilai dari pemanggil ke dalam SP

– Contoh:• CREATE PROC pr_honor (@p1 INT) AS …

• Output parameter– Digunakan untuk mengembalikan nilai non-

recordset dari SP ke pemanggil• Misalnya SP untuk insert, mengembalikan

nilai hasil identity– Contoh:

• CREATE PROC pr_honor (@p1 INT, @p2 CHAR(16),@pout1 INT OUT, @pout2 CHAR(1) OUTPUT) AS …

Page 11: Store procedure

Output Parameter

• Nilai parameter bisa diolah pada program prosedur dan untuk kemudian parameter tersebut dapat diubah dan diberikan nilainya pada program yang memanggilnya.

CREATE PROC m (@p1 int, @p2 int, @h int OUTPUT)

ASSELECT @h= @p1 * @p2

Page 12: Store procedure

Eksekusi Procedure Berparameter

• Pada saat eksekusi, parameter diberikan setelah nama SP

• Berdasarkan nama:EXEC pr_GetTopProducts

@StartID = 1, @EndID = 10

• Berdasarkan posisi:EXEC pr_GetTopProducts 1, 10