日期:2014-05-17  浏览次数:20802 次

存储过程的问题,请高手解答一下
下面是一个简单的存储过程,,,跟据@o_id,从表ANJTHA检索出BLDNM,但是BLDNM可能有很多条,上前的结果是只显示 出来一条,可能是我存储过程写的有问题,请高人指点指点,小弟自学存储过程刚开始,之前没写过.
CREATE PROCEDURE protest
@o_id varchar,
@p_tot varchar(256) output
AS
SELECT @p_tot = BLDNM
FROM ANJTHA
WHERE ENDNM=@o_id 

GO


------解决方案--------------------
CREATE or replace PROCEDURE protest(
o_id in varchar2,
p_tot out varchar2
) as
begin
select BLDNM into p_tot from ANJTHA WHERE ENDNM=o_id;
end;

注意参数名字不能用@开头。

还有,你是说这个查询只有一条结果吗?如果不是这样要定义一个集合然后bulk collect into ...


------解决方案--------------------
散分结贴吧,然后到SQLSERVER坛中去问.