2013-08-24 301 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而不是 「到」 和。