Mik*_*agy 3 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
Run Code Online (Sandbox Code Playgroud)
然后我调用该过程并分配输出参数.
declare @xml XML
exec dbo.UDP_GET_OUT @xml
select @xml
Run Code Online (Sandbox Code Playgroud)
现在是棘手的部分 - 结果始终为NULL.有人能指出我做错了什么吗?谢谢
必须将参数作为OUTPUT传入:
declare @xml XML;
exec dbo.UDP_GET_OUT @xml OUTPUT;
select @xml;
Run Code Online (Sandbox Code Playgroud)