存储过程OUTPUT参数始终返回NULL

时间:2012-11-16 09:32:11

标签: sql sql-server sql-server-2008

我确实遇到了问题。我试图通过OUTPUT参数从存储过程返回。

alter procedure dbo.UDP_GET_OUT
@P_PARAM XML OUTPUT
WITH EXECUTE AS CALLER
as
BEGIN
SET @P_PARAM =
(
select 
name,system_type_id
from sys.types
FOR XML PATH('Type'),ROOT('ROOT'),ELEMENTS
)
/*SELECT @P_PARAM*/
END

然后我调用该过程并分配输出参数。

declare @xml XML
exec dbo.UDP_GET_OUT @xml
select @xml

现在是棘手的部分 - 结果始终为NULL。有人能指出我做错了什么吗? 谢谢

1 个答案:

答案 0 :(得分:7)

必须将参数传递为OUTPUT:

declare @xml XML;
exec dbo.UDP_GET_OUT @xml OUTPUT;
select @xml;