Aracılığıyla paylaş


Saklı yordam oluştur

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnalytics 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:

  1. 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:

  2. Örneği genişletin ve ardından Veritabanları'nı genişletin.

  3. İstediğiniz veritabanını genişletin ve ardından Programlanabilirlik'i genişletin.

  4. 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.

  5. Sorgu menüsünde Şablon Parametreleri için Değer Belirt'i seçin.

  6. Ş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: ProcedureName ifadesini yeni saklı yordam adıyla değiştirin.
    • @Param1: değerini @p1 gibi ilk parametre adınızla değiştirin.
    • @Datatype_For_Param1: Uygun şekilde, int ile 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 0 ile değiştirin.
    • @Param2: değerini @p2 gibi ikinci parametre adınızla değiştirin.
    • @Datatype_For_Param2: Uygunsa değerini int gibi ikinci parametrenizin veri türüyle değiştirin.
    • Default_Value_For_Param2: uygunsa değerini ikinci parametrenizin varsayılan değeriyle veya 0 ile değiştirin.

    Aşağıdaki ekran görüntüsünde, örnek saklı yordam için tamamlanmış iletişim kutusu gösterilmektedir:

    Tamamlanmış Bir Şablon Parametreleri için Değer Belirt iletişim kutusunu gösteren ekran görüntüsü.

  7. Tamam'ı seçin.

  8. 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
    GO
    
  9. Söz dizimini test etmek için, Sorgu menüsünde Ayrıştıröğesini seçin. Hataları düzeltin.

  10. Araç çubuğundan Yürüt'e tıklayın. Prosedür, veritabanında bir nesne olarak oluşturulur.

  11. 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:

  1. Nesne Gezgini'nde saklı yordam adına sağ tıklayın ve Saklı Yordamı Yürüt'e tıklayın.

  2. 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 ve FirstName, LastName ve CompanyName dö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:

  1. SSMS'de SQL Server veya Azure SQL Veritabanı örneğine bağlanın.

  2. Araç çubuğundan Yeni Sorgu'yu seçin.

  3. 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 AdventureWorksLT veritabanı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;
    GO
    
  4. Sorguyu yürütmek için araç çubuğundan Yürüt'e tıklayın. Saklı yordam oluşturulur.

  5. 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.