Prosedur tersimpan

Menulis Function dan Stored Procedure di SQL Server

Meghan Kwartler

IT Consultant

Apa itu stored procedure?

Apa itu?

Rutinitas yang

  • Menerima parameter input
  • Menjalankan aksi (EXECUTE SELECT, INSERT, UPDATE, DELETE, dan pernyataan SP lain)
  • Mengembalikan status (sukses/gagal)
  • Mengembalikan parameter output
Menulis Function dan Stored Procedure di SQL Server

Mengapa menggunakan stored procedure?

Mengapa?

  • Dapat mengurangi waktu eksekusi
  • Dapat mengurangi trafik jaringan
  • Mendukung pemrograman modular
  • Keamanan lebih baik
Menulis Function dan Stored Procedure di SQL Server

Apa bedanya?

UDF

  • Harus mengembalikan nilai
    • Boleh bertipe tabel
  • Boleh dieksekusi tertanam dalam SELECT
  • Tidak ada parameter output
  • Tidak boleh INSERT, UPDATE, DELETE
  • Tidak dapat mengeksekusi SP
  • Tidak ada penanganan error

SP

  • Nilai kembalian opsional
    • Tidak bertipe tabel
  • Tidak bisa dieksekusi tertanam dalam SELECT
  • Mengembalikan parameter output & status
  • INSERT, UPDATE, DELETE diperbolehkan
  • Dapat mengeksekusi fungsi & SP
  • Penanganan error dengan TRY...CATCH
Menulis Function dan Stored Procedure di SQL Server

CREATE PROCEDURE dengan parameter OUTPUT

-- Empat baris kode pertama
-- Nama SP harus unik 
CREATE PROCEDURE dbo.cuspGetRideHrsOneDay 
    @DateParm date,
    @RideHrsOut numeric OUTPUT
AS
.......
Menulis Function dan Stored Procedure di SQL Server

CREATE PROCEDURE dengan parameter OUTPUT

CREATE PROCEDURE dbo.cuspGetRideHrsOneDay
    @DateParm date,
    @RideHrsOut numeric OUTPUT
AS
SET NOCOUNT ON
BEGIN
SELECT 
  @RideHrsOut = SUM(
    DATEDIFF(second, PickupDate, DropoffDate)
  )/ 3600
FROM YellowTripData
WHERE CONVERT(date, PickupDate) = @DateParm
RETURN
END;
Menulis Function dan Stored Procedure di SQL Server

Parameter output vs. nilai kembalian

Parameter output

  • Bisa tipe data apa pun
  • Dapat mendeklarasikan banyak per SP
  • Tidak boleh berupa table-valued parameter

Nilai kembalian

  • Untuk menandai sukses atau gagal
  • Hanya tipe data integer
  • 0 berarti sukses, selain 0 berarti gagal
Menulis Function dan Stored Procedure di SQL Server

Anda siap membuat CREATE PROCEDURE!

Menulis Function dan Stored Procedure di SQL Server

Preparing Video For Download...