Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Analytics Platform Sistemi (PDW)
Microsoft Fabric SQL veritabanı
Bu makalede, SQL Server Management Studio kullanarak ve Transact-SQL CREATE PROCEDURE deyimini kullanarak SQL Server saklı yordamının nasıl oluşturulacağı açıklanır.
Permissions
Veritabanında CREATE PROCEDURE izni ve yordamın oluşturulduğu şemada ALTER izni gerektirir.
Saklı yordam oluştur
Sql Server Management Studio'yu (SSMS) veya bir SSMS sorgu penceresinde Transact-SQL kullanarak saklı yordam yürütebilirsiniz. SQL Server Management Studio'nun (SSMS) en son sürümünü yükleyin.
Note
Bu makaledeki örnek saklı yordam, örnek AdventureWorksLT2022 (SQL Server) veya AdventureWorksLT (Azure SQL Veritabanı) veritabanını kullanır. Örnek veritabanlarını alma ve kullanma AdventureWorksLT yönergeleri için bkz. AdventureWorks örnek veritabanları.
SQL Server Management Studio'yu kullanma
SSMS'de saklı yordam oluşturmak için:
Nesne Gezgini'nde bir SQL Server veya Azure SQL Veritabanı örneğine bağlanın.
Daha fazla bilgi için aşağıdaki hızlı başlangıçlara bakın:
Örneği genişletin ve ardından Veritabanları'nı genişletin.
İstediğiniz veritabanını genişletin ve ardından Programlanabilirlik'i genişletin.
Saklı Yordamlar'a sağ tıklayın, ardından Yeni>Saklı Yordam'ı seçin. Saklı yordam için bir şablon içeren yeni bir sorgu penceresi açılır.
Varsayılan saklı yordam şablonunun iki parametresi vardır. Saklı yordamınızda daha az, daha fazla veya hiç parametre yoksa, gerektiği gibi şablona uygun parametre satırlarını ekleyin veya kaldırın.
Sorgu menüsünde Şablon Parametreleri için Değer Belirt'i seçin.
Şablon Parametreleri için Değerleri Belirtin iletişim kutusunda, Değer alanları için aşağıdaki bilgileri sağlayın:
-
Yazar: yerine adınızı yazın
Name. - Oluşturma Tarihi: Bugünün tarihini girin.
- Açıklama: Prosedürün genel olarak ne yaptığını kısaca açıklayın.
-
Procedure_Name:
ProcedureNameifadesini yeni saklı yordam adıyla değiştirin. -
@Param1: değerini
@p1gibi ilk parametre adınızla değiştirin. -
@Datatype_For_Param1: Uygun şekilde,
intile nvarchar(50) gibi ilk parametrenizin veri türünü değiştirin. -
Default_Value_For_Param1: Uygunsa değerini ilk parametrenizin varsayılan değeriyle veya
0ile değiştirin. -
@Param2: değerini
@p2gibi ikinci parametre adınızla değiştirin. -
@Datatype_For_Param2: Uygunsa değerini
intgibi ikinci parametrenizin veri türüyle değiştirin. -
Default_Value_For_Param2: uygunsa değerini ikinci parametrenizin varsayılan değeriyle veya
0ile değiştirin.
Aşağıdaki ekran görüntüsünde, örnek saklı yordam için tamamlanmış iletişim kutusu gösterilmektedir:
-
Yazar: yerine adınızı yazın
Tamam'ı seçin.
Sorgu Düzenleyicisi'nde SELECT deyimini yordamınızın sorgusuyla değiştirin.
Aşağıdaki kod, örnek saklı yordam için tamamlanmış CREATE PROCEDURE deyimini gösterir:
-- ======================================================= -- Create Stored Procedure Template for Azure SQL Database -- ======================================================= SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE SalesLT.uspGetCustomerCompany ( -- Add the parameters for the stored procedure here @LastName nvarchar(50) = NULL, @FirstName nvarchar(50) = NULL ) AS /* -- ============================================= -- Author: My Name -- Create Date: 01/23/2024 -- Description: Returns the customer's company name. -- ============================================= */ 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 GOSöz dizimini test etmek için, Sorgu menüsünde Ayrıştıröğesini seçin. Hataları düzeltin.
Araç çubuğundan Yürüt'e tıklayın. Prosedür, veritabanında bir nesne olarak oluşturulur.
Nesne Gezgini'nde listelenen yeni yordamı görmek için Saklı Yordamlar'a sağ tıklayın ve Yenile'yi seçin.
Prosedürü çalıştırmak için:
Nesne Gezgini'nde saklı yordam adına sağ tıklayın ve Saklı Yordamı Yürüt'e tıklayın.
Yordam Yürüt penceresinde, tüm parametreler için değerler girin ve Tamam'ı seçin. Ayrıntılı yönergeler için bkz. Saklı yordam yürütme.
Örneğin,
SalesLT.uspGetCustomerCompanyörnek yordamı çalıştırmak için @LastName parametresi için Cannon ve @FirstName parametresi için Chris girin ve ardından Tamam'ı seçin. Saklı yordam çalışır veFirstName,LastNameveCompanyNamedöndürür.
Important
Tüm kullanıcı girişlerini doğrulayın. Doğrulamadan önce kullanıcı girişini birleştirmeyin. Hiçbir zaman, karşılanmamış kullanıcı girişinden hazırlanmış bir komutu yürütmeyin.
Transact-SQL kullanma
SSMS Sorgu Düzenleyicisi'nde bir yordam oluşturmak için:
SSMS'de SQL Server veya Azure SQL Veritabanı örneğine bağlanın.
Araç çubuğundan Yeni Sorgu'yu seçin.
Sorgu penceresine aşağıdaki kodu girin; yerine herhangi bir parametrenin adlarını ve veri türlerini ve SELECT deyimini kendi değerlerinizle değiştirin
<ProcedureName>.CREATE PROCEDURE <ProcedureName> @<ParameterName1> <data type>, @<ParameterName2> <data type> AS SET NOCOUNT ON; SELECT <your SELECT statement>; GOÖrneğin, aşağıdaki deyim
AdventureWorksLTveritabanında önceki örnektekiyle aynı saklı yordamı oluşturur, fakat yordam adı biraz farklıdır.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; GOSorguyu yürütmek için araç çubuğundan Yürüt'e tıklayın. Saklı yordam oluşturulur.
Saklı yordamı çalıştırmak için, yeni bir sorgu penceresine bir EXECUTE deyimi girin ve tüm parametreler için değerler sağlayın ve Yürüt'e tıklayın. Ayrıntılı yönergeler için bkz. Saklı yordam yürütme.