Apa itu Prosedur Tersimpan?
Prosedur tersimpan adalah kode SQL yang disiapkan yang dapat Anda simpan, sehingga kode tersebut dapat digunakan kembali berulang kali.
Jadi jika Anda memiliki kueri SQL yang Anda tulis berulang kali, simpan sebagai prosedur tersimpan, lalu panggil saja untuk menjalankannya.
Anda juga dapat meneruskan parameter ke prosedur tersimpan, sehingga prosedur tersimpan dapat bertindak berdasarkan nilai parameter yang diteruskan.
Sintaks Prosedur Tersimpan
CREATE PROCEDURE procedure_name
AS
sql_statement
GO;
Jalankan Prosedur Tersimpan
EXEC procedure_name;
Database Demo
Di bawah ini adalah pilihan dari tabel "Pelanggan" di database contoh Northwind:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
Contoh Prosedur Tersimpan
Pernyataan SQL berikut membuat prosedur tersimpan bernama "SelectAllCustomers" yang memilih semua rekaman dari tabel "Pelanggan":
Contoh
CREATE PROCEDURE SelectAllCustomers
AS
SELECT * FROM Customers
GO;
Jalankan prosedur tersimpan di atas sebagai berikut:
Contoh
EXEC SelectAllCustomers;
Prosedur Tersimpan Dengan Satu Parameter
Pernyataan SQL berikut membuat prosedur tersimpan yang memilih Pelanggan dari Kota tertentu dari tabel "Pelanggan":
Contoh
CREATE PROCEDURE SelectAllCustomers @City nvarchar(30)
AS
SELECT * FROM Customers WHERE City = @City
GO;
Jalankan prosedur tersimpan di atas sebagai berikut:
Contoh
EXEC SelectAllCustomers @City = 'London';
Prosedur Tersimpan Dengan Banyak Parameter
Menyiapkan banyak parameter sangat mudah. Cantumkan saja setiap parameter dan tipe data yang dipisahkan dengan koma seperti yang ditunjukkan di bawah ini.
Pernyataan SQL berikut membuat prosedur tersimpan yang memilih Pelanggan dari Kota tertentu dengan Kode Pos tertentu dari tabel "Pelanggan":
Contoh
CREATE PROCEDURE SelectAllCustomers @City nvarchar(30), @PostalCode nvarchar(10)
AS
SELECT * FROM Customers WHERE City = @City AND PostalCode = @PostalCode
GO;
Jalankan prosedur tersimpan di atas sebagai berikut:
Contoh
EXEC SelectAllCustomers @City = 'London', @PostalCode = 'WA1 1DP';