没有从存储过程中获得任何结果

时间:2012-07-26 08:58:54

标签: sql-server sql-server-2005 stored-procedures sql

我有以下程序界面:

create procedure [dbo].[GetsItemDetails]
(
    @SiteURL varchar
)
AS

select 
    *
from
    s_ItemDetails
where
    SiteURL = @SiteURL

当我这样称呼它时:

DECLARE @return_value int

EXEC    @return_value = [dbo].[GetsItemDetails]         @SiteURL =
N'fgh'

SELECT  'Return Value' = @return_value

当有一个记录与siteURL“fgh”

时,我什么也得不到

2 个答案:

答案 0 :(得分:4)

您忘了指定参数的大小。

create procedure [dbo].[GetsItemDetails]
(
    @SiteURL varchar
)
AS

没有大小,它是1个字符。

指定与SiteURL的列大小相同的尺寸。

这样的事情:

create procedure [dbo].[GetsItemDetails]
(
    @SiteURL varchar(255)
)
AS

答案 1 :(得分:1)

试试这个:

CREATE procedure [dbo].[GetsItemDetails]
(
    @SiteURL varchar(1000)
)
AS
DECLARE @str varchar(1000)
SET @str='select * from s_ItemDetails where  SiteURL ='+ ''''+@SiteURL+''''
select @str