Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Stored Procedure Basis Data Terapan.

Presentasi serupa


Presentasi berjudul: "Stored Procedure Basis Data Terapan."— Transcript presentasi:

1 Stored Procedure Basis Data Terapan

2 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

3 Stored Procedure vs Procedure
Persamaan dengan prosedur dlm pemrograman: Menerima parameter input dan mengembalikan beberapa nilai dalam bentuk parameter output ke pemanggil prosedure atau batch. Berisi statement pemrograman utk operasi dlm database, termasuk memanggil prosedur lainnya. Mengembali nilai status ke pemanggil prosedur atau batch untuk menunjukkan keberhasilan atau kegagalan (dan alasan untuk kegagalan).

4 Tipe Stored Procedure System Stored Procedure: Local 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 (misal menggunakan object/komponen seperti ORM)

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

6 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

7 Dasar Stored Procedure

8 Membuat Stored Procedure
Sintaks: CREATE PROCEDURE NamaProsedur AS Deklarasi_Variable RETURN Contoh: CREATE PROCEDURE pr_honor AS SELECT namainstruktur, honor FROM instruktur

9 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

10 Mengkoreksi Sebuah Prosedur
Statement ALTER harus digunakan ALTER PROCEDURE pr_honor AS select inisial, namainstruktur, honor from instruktur RETURN

11 Menghapus Stored Procedure
digunakan statement DROP Sintaks: DROP PROCEDURE NamaProsedur Contoh: DROP PROCEDURE pr_honor DROP PROCEDURE uspHitungGaji

12 Mengubah Nama Stored Procedure
Gunakan sintaks SP_RENAME Contoh: SP_RENAME pr_honor, pr_honor2

13 Parameter

14 Parameter 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 char(16), .. ) AS Deklarasi_Variable

15 Parameter Input parameter Output parameter
Digunakan untuk memberikan nilai dari pemanggil ke dalam SP Contoh: CREATE PROC pr_honor INT) AS … Output parameter Digunakan untuk mengembalikan nilai non-recordset dari SP ke pemanggil Misalnya SP untuk insert, mengembalikan nilai hasil identity CREATE PROC pr_honor INT CHAR(1) OUTPUT) AS …

16 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 OUTPUT) AS SELECT

17 Eksekusi Output Parameter
Contoh: INT EXEC m 10, OUTPUT PRINT 'hasil = ' + str 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.

18 Parameter dgn 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 INT=5) AS select nama instruktur, honor from instruktur where Return Urutan parameter Tempatkan parameter dengan default value di akhir dari daftar parameter untuk penggunaan fleksibel

19 Eksekusi Procedure Berparameter
Pada saat eksekusi, parameter diberikan setelah nama SP Berdasarkan nama: EXEC pr_GetTopProducts @StartID = = 10 Berdasarkan posisi: EXEC pr_GetTopProducts 1, 10 Leveraging Default values EXEC

20 Menampilkan Data di Layar
Dalam sebuah database tidak diperbolehkan ada stored procedures yang mempunyai nama sama. Sehingga jika pada suatu saat kita akan mengkompilasi ulang stored procedures yang sama (untuk revisi atau penambahan) maka kita harus terlebih dulu menghapus stored procedures yang lama dengan perintah drop proc (nama stored procedures). Perintah yang akan dijadikan sebagai perintah utama dalam stored procedures diletakkan setelah perintah as, dan sebuah stored procedures diakhiri dengan perintah go yang berfungsi untuk mengeksekusi semua stored procedures tersebut. Stored procedures pertama kita adalah untuk menampilkan data di layar. Untuk menampilkan data di layar kita menggunakan statement print. Berikut adalah contoh sederhana untuk menampilkan data di layar : CREATE PROC TAMPILKATA AS PRINT 'Ini Stored procedures saya yang pertama !' GO

21 RETURN & ERROR

22 Return Digunakan untuk mengembalikan nilai hasil balik berupa status dari eksekusi sukses atau gagal Statement return juga bisa digunakan untuk menghentikan segala eksekusi

23 Error  Fungsi ini digunakan untuk mengimplementasikan penanganan kode kesalahan. Berisi ID Error yang dihasilkan oleh pernyataan SQL terakhir yang dijalankan. berisi 0  Sukses, selain itu gagal Contoh CREATE PROC INT=NULL AS BEGIN INSERT INTO TABLE1 IF <> 0 PRINT 'Error occurred' END

24 Membangkitkan Error Untuk membangkitkan pesan kesalahan gunakan sintaks RAISEERROR Contoh RAISERROR('demo error', 1, 1)


Download ppt "Stored Procedure Basis Data Terapan."

Presentasi serupa


Iklan oleh Google