0

我有以下程序界面:

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" 的记录时,我什么也得不到

4

2 回答 2

4

您忘记指定参数的大小。

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

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

为 指定与列大小相同的大小SiteURL

像这样的东西:

create procedure [dbo].[GetsItemDetails]
(
    @SiteURL varchar(255)
)
AS
于 2012-07-26T09:02:55.583 回答
1

试试这个:

CREATE procedure [dbo].[GetsItemDetails]
(
    @SiteURL varchar(1000)
)
AS
DECLARE @str varchar(1000)
SET @str='select * from s_ItemDetails where  SiteURL ='+ ''''+@SiteURL+''''
select @str
于 2012-07-26T12:48:41.537 回答