存储过程输出

时间:2012-02-26 18:56:28

标签: sql sql-server database sql-server-2008 stored-procedures

我有两个存储过程:

SP1

CREATE PROCEDURE GetAge

@Birthday datetime,
@BirthDayAge INT OUTPUT

AS

SELECT @BirthDayAge = YEAR(GETDATE()-DATEPART(dy, @Birthday) + 1)-YEAR(@Birthday);

SP2

CREATE PROCEDURE AgeProc

@Age int

AS

DECLARE @BirthDayAge INT;
EXEC GetAge @Age, @BirthDayAge OUTPUT

SELECT ... FROM ... WHERE @BirthdayAge  = @Age;

出于某种原因,在测试时,第二个程序中没有返回任何结果。我在任何一个存储过程中都做错了吗?

1 个答案:

答案 0 :(得分:1)

 WHERE @BirthdayAge  = @Age;

您正在比较2个变量。

这不应该是一个表格列吗?

另外,您将整数传递给日期时间,这可能会导致问题