Aracılığıyla paylaş


Çıkış parametreleri kullanarak veri döndürme

Yordam tanımı içinde bir parametre için çıktı anahtar sözcüğünü belirtirseniz, saklı yordam çıktığında saklı yordamı çağıran programa parametresinin geçerli değeri döndürebilir.Arama programda kullanılan bir değişken parametre değeri kaydetmek için çağıran program çıktı anahtar sözcük yürütürken kullanmanız gerekir saklı yordam.

Örnekler

Aşağıdaki örnek, bir saklı yordam bir giriş ve bir çıkış parametresi ile gösterir.İlk parametre içinde saklı yordam @SalesPerson çağıran program ve ikinci parametre tarafından belirtilen girdi değeri alır @SalesYTD için dönen değer arayan bir program.deyim kullanır @SalesPerson parametresi için doğru almak SalesYTD değerine atar ve değer @SalesYTD çıkış parametresi.

USE AdventureWorks2008R2;
GO
IF OBJECT_ID('Sales.uspGetEmployeeSalesYTD', 'P') IS NOT NULL
    DROP PROCEDURE Sales.uspGetEmployeeSalesYTD;
GO
CREATE PROCEDURE Sales.uspGetEmployeeSalesYTD
@SalesPerson nvarchar(50),
@SalesYTD money OUTPUT
AS  

    SET NOCOUNT ON;
    SELECT @SalesYTD = SalesYTD
    FROM Sales.SalesPerson AS sp
    JOIN HumanResources.vEmployee AS e ON e.BusinessEntityID = sp.BusinessEntityID
    WHERE LastName = @SalesPerson;
RETURN
GO

Aşağıdaki deyimleri giriş parametresi için bir değer ile saklı yordamı yürütmek ve içinde saklı yordam çıkış değeri kaydeder @SalesYTD değişkeni yerel arama programı.

-- Declare the variable to receive the output value of the procedure.
DECLARE @SalesYTDBySalesPerson money;
-- Execute the procedure specifying a last name for the input parameter
-- and saving the output value in the variable @SalesYTDBySalesPerson
EXECUTE Sales.uspGetEmployeeSalesYTD
    N'Blythe', @SalesYTD = @SalesYTDBySalesPerson OUTPUT;
-- Display the value returned by the procedure.
PRINT 'Year-to-date sales for this employee is ' + 
    convert(varchar(10),@SalesYTDBySalesPerson);
GO

Saklı yordam çalıştırıldığında çıkış parametreleri için giriş değerleri de belirtilebilir.Böylece saklı yordam çağıran programdan bir değer almak için değiştirmek veya onunla işlemleri gerçekleştirmek ve çağıran programa yeni değerini döndürür.Önceki örnekte, @SalesYTDBySalesPerson değişken yürütme bir değer atanabilir saklı yordam.The @SalesYTD variable contains the value of the parameter in the body of the stored procedure, and the value of the @SalesYTD variable is returned to the calling program when the stored procedure exits.Buna genellikle "pass'e başvuru olanağı da." denir

Çıkış parametresi için bir saklı yordamı yürütmek ve çıktı içinde saklı yordam kullanarak parametre tanımlandığında belirtirseniz, bir hata iletisi alıyorum.Çıkış parametresi bir saklı yordamı yürütmek ve saklı yordam yürütülürken çıkış belirtin.Hiçbir hata döndürdü, ancak çıkış değeri arama programı kullanamazsınız.