Membuat prosedur tersimpan
Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Artikel ini menjelaskan cara membuat prosedur tersimpan SQL Server dengan menggunakan SQL Server Management Studio dan dengan menggunakan pernyataan TRANSACT-SQL CREATE PROCEDURE.
Izin
Memerlukan izin CREATE PROCEDURE dalam database dan izin UBAH pada skema di mana prosedur sedang dibuat.
Membuat prosedur tersimpan
Anda dapat menggunakan antarmuka pengguna SQL Server Management Studio (SSMS) atau Transact-SQL di jendela kueri SSMS untuk membuat prosedur tersimpan. Selalu gunakan versi terbaru SSMS.
Catatan
Contoh prosedur tersimpan dalam artikel ini menggunakan database sampel AdventureWorksLT2022
(SQL Server) atau AdventureWorksLT
(Azure SQL Database). Untuk petunjuk tentang cara mendapatkan dan menggunakan AdventureWorksLT
database sampel, lihat Database sampel AdventureWorks.
Menggunakan SQL Server Management Studio
Untuk membuat prosedur tersimpan di SSMS:
Di Object Explorer, sambungkan ke instans SQL Server atau Azure SQL Database.
Untuk informasi selengkapnya, lihat mulai cepat berikut ini:
Perluas instans, lalu perluas Database.
Perluas database yang Anda inginkan, lalu perluas Keterprograman.
Klik kanan Prosedur Tersimpan, lalu pilih Prosedur Tersimpan Baru>. Jendela kueri baru terbuka dengan templat untuk prosedur tersimpan.
Templat prosedur tersimpan default memiliki dua parameter. Jika prosedur tersimpan Anda memiliki lebih sedikit, lebih banyak, atau tidak ada parameter, tambahkan atau hapus baris parameter dalam templat yang sesuai.
Pada menu Kueri , pilih Tentukan Nilai untuk Parameter Templat.
Dalam kotak dialog Tentukan Nilai untuk Parameter Templat, berikan informasi berikut untuk bidang Nilai :
- Penulis: Ganti
Name
dengan nama Anda. - Buat Tanggal: Masukkan tanggal hari ini.
- Deskripsi: Jelaskan secara singkat apa yang dilakukan prosedur.
- Procedure_Name: Ganti
ProcedureName
dengan nama prosedur tersimpan baru. - @Param1: Ganti
@p1
dengan nama parameter pertama Anda, seperti @ColumnName1. - @Datatype_For_Param1: Sebagaimana mestinya, ganti
int
dengan jenis data parameter pertama Anda, seperti nvarchar(50). - Default_Value_For_Param1: Jika sesuai, ganti
0
dengan nilai default parameter pertama Anda, atau NULL. - @Param2: Ganti
@p2
dengan nama parameter kedua Anda, seperti @ColumnName2. - @Datatype_For_Param2: Sebagaimana mestinya, ganti
int
dengan jenis data parameter kedua Anda, seperti nvarchar(50). - Default_Value_For_Param2: Jika sesuai, ganti
0
dengan nilai default parameter kedua Anda, atau NULL.
Cuplikan layar berikut menunjukkan kotak dialog yang telah selesai untuk contoh prosedur tersimpan:
- Penulis: Ganti
Pilih OK.
Di Editor Kueri, ganti pernyataan SELECT dengan kueri untuk prosedur Anda.
Kode berikut menunjukkan pernyataan CREATE PROCEDURE yang telah selesai untuk contoh prosedur tersimpan:
-- ======================================================= -- Create Stored Procedure Template for Azure SQL Database -- ======================================================= SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: My Name -- Create Date: 01/23/2024 -- Description: Returns the customer's company name. -- ============================================= CREATE PROCEDURE SalesLT.uspGetCustomerCompany ( -- Add the parameters for the stored procedure here @LastName nvarchar(50) = NULL, @FirstName nvarchar(50) = NULL ) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON -- Insert statements for procedure here SELECT FirstName, LastName, CompanyName FROM SalesLT.Customer WHERE FirstName = @FirstName AND LastName = @LastName; END GO
Untuk menguji sintaks, pada menu Kueri , pilih Uraikan. Perbaiki kesalahan apa pun.
Pilih Jalankan dari toolbar. Prosedur dibuat sebagai objek dalam database.
Untuk melihat prosedur baru yang tercantum di Object Explorer, klik kanan Prosedur Tersimpan dan pilih Refresh.
Untuk menjalankan prosedur:
Di Object Explorer, klik kanan nama prosedur tersimpan dan pilih Jalankan Prosedur Tersimpan.
Di jendela Jalankan Prosedur , masukkan nilai untuk semua parameter, lalu pilih OK. Untuk instruksi mendetail, lihat Menjalankan prosedur tersimpan.
Misalnya, untuk menjalankan
SalesLT.uspGetCustomerCompany
prosedur sampel, masukkan Meriam untuk parameter @LastName dan Chris untuk parameter @FirstName, lalu pilih OK. Prosedur tersimpan berjalan, dan mengembalikanFirstName
Chris,LastName
Cannon, danCompanyName
Outdoor Sporting Goods.
Penting
Validasi semua input pengguna. Jangan menggabungkan input pengguna sebelum Anda memvalidasinya. Jangan pernah menjalankan perintah yang dibangun dari input pengguna yang tidak valid.
Menggunakan Transact-SQL
Untuk membuat prosedur di Editor Kueri SSMS:
Di SQL Server, sambungkan ke instans SQL Server atau Azure SQL Database.
Pilih Kueri Baru dari toolbar.
Masukkan kode berikut ke dalam jendela kueri, ganti
<ProcedureName>
, nama dan jenis data dari parameter apa pun, dan pernyataan SELECT dengan nilai Anda sendiri.CREATE PROCEDURE <ProcedureName> @<ParameterName1> <data type>, @<ParameterName2> <data type> AS SET NOCOUNT ON; SELECT <your SELECT statement>; GO
Misalnya, pernyataan berikut membuat prosedur tersimpan yang sama dalam
AdventureWorksLT
database seperti contoh sebelumnya, dengan nama prosedur yang sedikit berbeda.CREATE PROCEDURE SalesLT.uspGetCustomerCompany1 @LastName nvarchar(50), @FirstName nvarchar(50) AS SET NOCOUNT ON; SELECT FirstName, LastName, CompanyName FROM SalesLT.Customer WHERE FirstName = @FirstName AND LastName = @LastName; GO
Pilih Jalankan dari toolbar untuk menjalankan kueri. Prosedur tersimpan dibuat.
Untuk menjalankan prosedur tersimpan, masukkan pernyataan EXECUTE di jendela kueri baru, yang menyediakan nilai untuk parameter apa pun, lalu pilih Jalankan. Untuk instruksi mendetail, lihat Menjalankan prosedur tersimpan.