0% menganggap dokumen ini bermanfaat (0 suara)
104 tayangan27 halaman

Part 14 - Store Proceduree PDF

Dokumen tersebut membahas tentang pengertian dan penggunaan stored procedure pada database. Ia menjelaskan bahwa stored procedure adalah program yang disimpan di database dan dapat menerima parameter serta mengembalikan hasil. Dokumen tersebut juga menjelaskan kelebihan stored procedure seperti keamanan, performa, dan pemeliharaan kode yang lebih mudah.

Diunggah oleh

Winny_Handiny
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
104 tayangan27 halaman

Part 14 - Store Proceduree PDF

Dokumen tersebut membahas tentang pengertian dan penggunaan stored procedure pada database. Ia menjelaskan bahwa stored procedure adalah program yang disimpan di database dan dapat menerima parameter serta mengembalikan hasil. Dokumen tersebut juga menjelaskan kelebihan stored procedure seperti keamanan, performa, dan pemeliharaan kode yang lebih mudah.

Diunggah oleh

Winny_Handiny
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 27

Store Procedure

Pertemuan ke-14

www.rahmadani.net 1
Pengertian…

• 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

www.rahmadani.net 2
Penggunaan Stored Procedure
Pada saat SQL Server 2005 dijalankan, Bahasa T-SQL
adalah hal utama yang digunakan sebagai penghubung
antara Aplikasi dengan Sistem database.

Saat menggunakan Bahasa T-SQL, ada dua metode yang


dijalankan untuk mnyeyimpan dan menjalankan Store
Procedure.
1. Aplikasi mengirim request dan database meresponse
hasil berupa store procedure.
2. Program Sebagai Store Procedure pada SQL Server
dan buat aplikasi untuk menjalankan procedure dan
memproses hasil

www.rahmadani.net 3
Ilustrasi.. 
Request;

Response;

www.rahmadani.net 4
Lanjt….

www.rahmadani.net 5
Stored Procedure vs Procedure

Persamaan dengan prosedur dlm pemrograman:


– Menerima parameter input dan mengembalikan
beberapa nilai dalam bentuk parameter output ke
pemanggil prosedure.
– Berisi statement pemrograman utk operasi dlm
database, termasuk memanggil prosedur lainnya.
– Mengembalikan nilai status ke pemanggil prosedur
untuk menunjukkan keberhasilan atau kegagalan (dan
alasan untuk kegagalan).

www.rahmadani.net 6
Tipe Stored Procedure
• System Stored Procedure:
– Nama dimulai dengan sp_ atau xp_ (extended stored procedur
akan dihilangkan)
– Dibuat dalam database master
– Tujuannya untuk pengaplikasian dalam database apapun
– Sering digunakan oleh sysadmin
• Local Stored Procedure:
– Ditetapkan di database lokal
– Nama sering dimulai dengan pr_ atau usp
• Dalam prakteknya lebih baik gunakan nama yang mudah:
– Tanpa prefix
– Sesuaikan dengan yang ada di aplikasi

www.rahmadani.net 7
Kelebihan Stored Procedure(1)

• 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.

www.rahmadani.net 8
Kelebihan Stored Procedure(2)
• 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
www.rahmadani.net 9
Dasar Stored Procedure

www.rahmadani.net 10
Membuat Stored Procedure
Sintaks:
CREATE PROCEDURE NamaProsedur AS
Deklarasi_Variable
.. .. ..
.. .. ..
RETURN

Contoh:
CREATE PROCEDURE pr_honor AS
SELECT namainstruktur, honor FROM
instruktur
RETURN
www.rahmadani.net 11
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

www.rahmadani.net 12
Mengkoreksi Sebuah Prosedur

Statement ALTER harus digunakan;


ALTER PROCEDURE pr_honor AS
select inisial,
namainstruktur, honor
from instruktur
RETURN

www.rahmadani.net 13
Menghapus Stored Procedure

• digunakan statement DROP


Sintaks:
DROP PROCEDURE NamaProsedur

Contoh:
DROP PROCEDURE pr_honor
DROP PROCEDURE uspHitungGaji

www.rahmadani.net 14
Mengubah Prosedur Tanpa
Menggunakan ALTER
Cek prosedur ada, bila ada di drop, kemudian baru create;
USE mydb
IF EXISTS (SELECT name FROM sysobjects
WHERE nama= 'pr_honor' AND type = 'P')
DROP PROCEDURE pr_honor
GO
CREATE PROCEDURE pr_honor
AS
SELECT inisial, namainstruktur, honor
FROM instruktur
GO

www.rahmadani.net 15
Mengubah Nama Stored Procedure

Gunakan sintaks SP_RENAME


Contoh:
SP_RENAME pr_honor, pr_honor2

www.rahmadani.net 16
Parameter..
www.rahmadani.net 17
Maksudnya..
• Prosedur dapat mempunyai parameter berupa
variable yang disuplai oleh program yang
memanggilnya
• Sintaks parameter
– @param as datatype = default [OUT/OUTPUT]

Contoh:
CREATE PROC pr_honor (@p1 int, @p2 char(16), .. )
AS
Deklarasi_Variable
.. .. ..
.. .. ..

www.rahmadani.net 18
Model 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 …

www.rahmadani.net 19
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)
AS
SELECT @h= @p1 * @p2

www.rahmadani.net 20
Eksekusi Output Parameter

Contoh:
DECLARE @hsl INT
EXEC m 10, 20, @hsl OUTPUT
PRINT 'hasil = ' + str (@hsl)

– Pada contoh ada 3 parameter, yaitu p1 dan p2


sebagai input parameter dan h sebagai output
parameter.
– Saat eksekusi, p1 adalah 10, p2 adalah 20 dan hsl
merupakan hasil perkalian.

www.rahmadani.net 21
Parameter dgn Default Value
• Default value
– Untuk menghindari null karena nilai tidak diberikan
– Merupakan nilai default yang otomatis diberikan bila
tidak dispesifikasikan ketika pemanggilan SP
Contoh:
CREATE PROC pr_honor (@p1 INT=5) AS
select nama instruktur, honor from instruktur
where inisial=@ini
Return

• Urutan parameter
– Tempatkan parameter dengan default value di akhir dari
daftar parameter untuk penggunaan fleksibel
www.rahmadani.net 22
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

• Leveraging Default values


EXEC pr_GetTopProducts @EndID=10

www.rahmadani.net 23
Case Sederhana…

Pada Database MYAKADEMIK Anda,


buatkan sebuat Store Procedure untuk
menampilkan Jenkel Laki-laki pada Tabel
Mahasiswa.??

www.rahmadani.net 24
Step 1; Membuat Store Procedure

1. Pada Object Explorer database


MYAKADEMIK, buka Folder Programibility
kemudian pilih Folder Store Procedure.
2. Pada Folder Store Procedure, klik kanan
kemudian pilih New Store Procedure.
3. Maka akan ditampilkan template pembuatan
Store Procedure yang siap diedit sesuai
kebutuhan.
4. Lihat Demo… 

www.rahmadani.net 25
Case 2;
Membuat SP dengan Variabel via Query Analyzer

Buat sebuah SP dengan nama; LuasBidangDatar


dengan variabel @panjang dan @lebar dengan type
data numeric

www.rahmadani.net 26
www.rahmadani.net 27

Anda mungkin juga menyukai