1. 程式人生 > >T-SQL和MySQL的一些常用語法的區別

T-SQL和MySQL的一些常用語法的區別

create procedure GetProductByCategoryId(

@CategoryID int,

@PageIndex int = 0,

@PageSize int = 20,

@TotalRecords int output

)

as

begin

declare @ResultTable table

(

RowIndex int,

ProductID int,

ProductName nvarchar(50),

CategoryID int,

Unit nvarchar(10),

UnitPrice money,

Quantity int

);

insert into @ResultTable

select row_number() over (order by ProductID asc) as RowIndex, p.ProductID, p.ProductName, p.CategoryID, p.Unit, p.UnitPrice, p.Quantity

from Products as p

where CategoryID = @CategoryID;

select @TotalRecords = count(*) from @ResultTable;

select *

from @ResultTable

where RowIndex > (@PageSize * @PageIndex) and RowIndex <= (@PageSize * (@PageIndex+1));

end;

當然,SqlServer中並不只有這一種寫法,只是這種寫法是比較常見而已。