Prosedur Tersimpan SQL untuk SQL Server
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;
Basis Data Demo
Di bawah ini adalah pilihan dari tabel "Pelanggan" di database sampel 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 Beberapa Parameter
Menyiapkan beberapa parameter sangat mudah. Cukup daftarkan 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 Kodepos 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';