2013-08-24 254 views
0

前的一段:SELECT语句返回结果

@productName varchar(50), 
    @pageStart int, 
    @pageEnd int, 
    @result varchar(MAX) 

    set @result = select * from products where productName like '%@productName%' 

    return select from @result where section between @pageStrat to @pageEnd 

这是我想象的那样,如果这是正确的?或者有一个语句可以做的结果

+2

你为什么不试试看? –

+0

我不是SP专家,我尝试过,但它给了我错误。 – DevC

+0

但是,以什么错误开始呢?所以我们没有猜测,并有一些真实的信息。此外,也是最重要的是,关于语法或特定查询的问题是? MySql或SQL Server?两者都有所不同 – Alejandro

回答

1
declare @productName varchar(50), 
    @pageStart int, 
    @pageEnd int, 
    @result varchar(MAX) 

select * from (select *,ROW_NUMBER() over (order by ID) as row from products where 
productName like @productName) a where a.row between @pageStart and @pageEnd 
1

更换

'%@productName%' 

'%' + @productName + '%' 

您正在寻找包含文字“@productName”字符串,我不认为这就是你想要的。另外:

between @pageStrat to @pageEnd 

应该

between @pageStart and @pageEnd 

记 “和” 您的版本的拼写错误@pageStart而不是 “到” 和。