2011-03-07 149 views
0

如何在存储过程中返回值的类型。他们之间有什么区别。请解释我。存储过程

+0

退房http://sqlserverpedia.com/wiki/Stored_Procedures_-_Output_Parameters_%26_Return_Values - 这列出了用实例 – InSane 2011-03-07 03:54:03

+0

请解释一下你的意思远一点返回值的不同选项,林不知道你真的很询问 – Gent 2011-03-07 03:54:22

+0

第一所有:它们被称为“存储* D *过程” - 如“存储在SQL Server中”(而不是“存储过程”) – 2011-03-07 05:36:44

回答

4

通常在存储过程中,您希望获取数据集。如果您正在寻找一种方法从某种类型的查询中获取单个值,那么您可能更适合制作UDF(用户定义的函数)。

尽管如此,这里是你如何创建一个输出变量

CREATE PROCEDURE dbo.GetNameByID (
    @ID NVARCHAR(50), 
    @PersonName NVARCHAR(50) OUTPUT) 
AS 
SELECT @PersonName = LastName 
FROM Person.Contact 
WHERE ID = @ID 

这个程序的存储过程,然后你可以如下执行它。

DECLARE @Name NVARCHAR(50) 

EXEC dbo.GetNameByID 
    @ID = 'A123FB', 
    @PersonName = @Name OUTPUT 

SELECT Name = @Name 

祝你好运。