Lewati ke konten utama

Prosedur Tersimpan yang Ditentukan Pengguna di SQL

Pelajari cara menggunakan dan menerapkan prosedur tersimpan yang ditentukan pengguna serta meninjau berbagai jenis prosedur tersimpan di SQL.
· 5 mnt Baca

Jelajahi bersama AI

Anda akan menggunakan Microsoft SQL Server sebagai basis data. Konsep yang dibahas dalam tutorial ini sama untuk sebagian besar Sistem Manajemen Basis Data Relasional (RDBMS), tetapi sintaksnya berbeda, meskipun idenya berlaku untuk semua basis data.

Prosedur Tersimpan adalah blok pernyataan SQL dalam Sistem Manajemen Basis Data Relasional (RDBMS), dan biasanya ditulis oleh programmer, Administrator Basis Data, Analis Data, lalu disimpan dan digunakan kembali untuk berbagai program. Jenisnya juga bisa berbeda tergantung RDBMS yang digunakan. Namun, dua Prosedur Tersimpan yang paling penting yang ditemukan di RDBMS mana pun adalah sebagai berikut.

  • Prosedur Tersimpan yang Ditentukan Pengguna
  • Prosedur Tersimpan Sistem

Prosedur Tersimpan adalah kode yang telah disiapkan dan dikompilasi, disimpan atau di-cache, lalu digunakan kembali. Anda dapat memiliki kode yang di-cache untuk digunakan ulang sehingga pemeliharaan menjadi jauh lebih mudah, yaitu tidak perlu diubah berkali-kali, yang juga dapat menjaga keamanan.

Membuat Tabel

Sekarang Anda akan membuat tabel bernama table_Employees sebagai berikut.

CREATE TABLE table_Employees
(
    EmployeeId INT PRIMARY KEY NOT NULL,
    EmployeeFirstName VARCHAR(25) NOT NULL,
    EmployeeLastName VARCHAR(25) NOT NULL,
    EmployeeGender VARCHAR(25) NOT NULL,
    EmployeeDepartmentID INT

)

Tabel ini berisi informasi tentang karyawan di sebuah perusahaan dan terdiri atas kolom-kolom berikut:

  1. EmployeeId: Kunci utama (primary key) yang unik dan bertipe data integer, di mana nilainya bertambah otomatis.
  2. EmployeeFirstName: Nama depan karyawan, bertipe karakter dan tidak boleh kosong.
  3. EmployeeLast Name: Nama belakang karyawan, bertipe karakter dan tidak boleh kosong.
  4. EmployeeGender: Menunjukkan jenis kelamin karyawan dan juga bertipe karakter.
  5. EmployeeDepartmentId: ID departemen karyawan yang bertipe data integer.

Anda dapat menulis kueri untuk menyisipkan nilai ke dalam tabel. Kueri untuk menambahkan nilai ke tabel adalah:

    INSERT INTO <TABLE_NAME>(<COLUMNS_OF_TABLE>) VALUES(<CORRESPONDING_VALUES_TO_MATCH_COLUMN>)

Setelah menyisipkan nilai ke dalam tabel, table_Employees berhasil dibuat.

table_Employees

Membuat Prosedur Tersimpan yang Ditentukan Pengguna

Prosedur Tersimpan memungkinkan Anda menulis kueri sekali saja, lalu kueri tersebut memiliki nama yang dapat disimpan dan dieksekusi berkali-kali jika diperlukan. Dengan mengeksekusi kueri, Anda dapat memiliki folder yang dibuat di bawah Programmabilty->Stored Procedure, dan di sana ada berkas bernama dbo.uprocGetEmployees.

Sintaks untuk membuat Prosedur Tersimpan adalah:

CREATE PROCEDURE <<<procedure_name>>>
AS
BEGIN

   '''Required SQL Queries'''

END

Anda dapat membuat Prosedur Tersimpan menggunakan pernyataan SQL sebagai berikut.

  • CREATE PROCEDURE procedure_name
  • CREATE PROC procedure_name

Selain itu, Anda perlu membuat Prosedur Tersimpan dengan konvensi penamaan selain "sp_.". Prosedur Tersimpan pada contoh dibuat dengan nama: uprocGetEmployees.

Contoh Prosedur Tersimpan

Menjalankan Prosedur Tersimpan

Untuk menjalankan Prosedur Tersimpan, Anda dapat menggunakan salah satu dari tiga pendekatan berikut, dan menjalankannya seperti ini.

  • EXEC <>
  • EXECUTE <>
  • <>

Pada program di atas, Anda dapat menggunakan nama prosedur uprocGetEmployees dan memilihnya untuk mengeksekusi kueri.

Prosedur Tersimpan dengan Parameter

Prosedur Tersimpan dapat menerima satu atau beberapa parameter. Anda dapat dengan mudah memahami parameter tunggal jika terlebih dahulu memahami parameter ganda.

Sintaks untuk membuat Prosedur Tersimpan dengan beberapa parameter adalah:

CREATE PROCEDURE <<procedure_name>> <<procedure_parameter>>
AS
    BEGIN
            <<sql_query>>
    END

Contoh berikut menunjukkan adanya perubahan pada folder di bawah ini.
EMPLOYEE->Programmability->Stored Procedures->dbo.uprocGetEmployessGenderAndDepartment

Prosedur Tersimpan dengan beberapa parameter

Konsepnya sangat mirip dengan fungsi dalam bahasa pemrograman umum seperti Python, Java, dan sebagainya. Program di atas memiliki nama fungsi atau prosedur "uprocGetEmployeesGenderAndDepartment", yang memiliki parameter @EmployeeGender dan @EmployeeDepartmentId yang "dipanggil" dengan memberikan nilai yang dibutuhkan ke prosedur kita, yang dapat dilakukan dengan dua cara seperti dijelaskan di bawah.

Parameter dalam program ini adalah @EmployeeGender dan @EmployeeDepartmentId yang "dipanggil" dengan memberikan nilai ke parameter tersebut.

Nilai dapat ditentukan dengan dua cara. Anda dapat menggunakan salah satunya untuk mengeksekusi Prosedur Tersimpan dengan beberapa parameter.

  • Dengan menyebutkan nama parameter dalam kueri dan memberikan nilai yang dibutuhkan:

Menentukan nilai 1

  • Dengan posisi yang sesuai antara parameter Prosedur Tersimpan dan kueri Anda, lalu memberikan nilai yang dibutuhkan ke parameter:

Menentukan nilai 2

Memodifikasi Prosedur Tersimpan

Anda juga dapat memodifikasi Prosedur Tersimpan dengan menggunakan perintah ALTER PROCEDURE.

    ALTER PROCEDURE uprocGetEmployeesGenderAndDepartment
@EmployeeGender nvarchar(25),
@EmployeeDepartmentId int
BEGIN
    SELECT EmployeeFirstName,EmployeeGender,EmployeeDepartmentId FROM table_Employees WHERE
    EmployeeGender = @EmployeeGender AND EmployeeDepartmentId = @EmployeeDepartmentId
END

Menghapus Prosedur Tersimpan

Prosedur Tersimpan dapat dihapus dengan cepat menggunakan perintah berikut:

DROP PROC <> DROP PROCEDURE <>

Menambahkan Keamanan Melalui Enkripsi

Simbol gembok yang ditunjukkan pada gambar di sebelah kiri menandakan bahwa Prosedur Tersimpan terenkripsi sehingga hanya orang yang berwenang yang dapat mengaksesnya.

Prosedur Tersimpan terenkripsi

Kesimpulan

Anda baru saja menyelesaikan dasar-dasar Prosedur Tersimpan yang Ditentukan Pengguna dan topik-topik yang dibahas secara konseptual serupa pada RDBMS mana pun. Anda dapat belajar lebih lanjut di DataCamp, dengan mengikuti kursus Intermediate SQL Server. Selain itu, tutorial Stored Procedures berikut akan sangat membantu dalam pembelajaran Anda.

Topik

Terkait

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

blogs

Tutorial Korelasi di R

blogs

Spaghetti Plot dan Jalur Badai