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 Pro c edur e yang disimpan dapat menerima parameter input dan dapat mengembalikan hasil Stored Pro c edur e 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
Kelebihan Stored Procedure K eamanan lebih stored pro c edur e 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.
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 dioptima si kan oleh DBMS compiler Berbagi-pakai kode modular berimbas pada : Mengurangi pe ker jaan berlebih – penggunaan ulang kode secara efisien Standar isasi pemrosesan Spesialisasi antara developer
Dasar Stored Procedure
Membuat Stored Procedure Sintaks : CREATE PROCEDURE NamaProsedur AS Peryataan Contoh : CREATE PROCEDURE pr_honor AS SELECT namainstruktur , honor FROM Instruktur
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
Mengkoreksi Sebuah Prosedur Statement ALTER harus digunakan ALTER PROCEDURE pr_honor AS select inisial , namainstruktur , honor from instruktur
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), .. ) AS Peryataan
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 …
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
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