shahab2005
چهارشنبه 29 اردیبهشت 1389, 18:33 عصر
سلام
من این مثال صفحه بندی را از این لینک (http://aspnet.4guysfromrolla.com/articles/031506-1.aspx) گرفتم و دیدم. خیلی خوب بود و کار کرد
اما وقتی می خوام دیتابیس sqlExpress اون رو تو sql2005 شبیه سازی کنم. همه جداول و sp هاش کار می کنه ولی sp اصلی که دستور Row Numbe () ایجاد نمیشه و error زیر رو می ده .
Msg 195, Level 15, State 10, Procedure GetEmployeesSubset, Line 19
'ROW_NUMBER' is not a recognized function name.
اون sp هم اینه . مشکل کجاست؟
CREATE PROCEDURE dbo.GetEmployeesSubset
(
@startRowIndex int,
@maximumRows int
)
AS
SET @startRowIndex = @startRowIndex + 1
SELECT EmployeeID, LastName, FirstName, DepartmentID, Salary,
HireDate, DepartmentName
FROM
(SELECT EmployeeID, LastName, FirstName, e.DepartmentID, Salary,
HireDate, d.Name as DepartmentName,
ROW_NUMBER() OVER(ORDER BY EmployeeID) as RowNum
FROM Employees e
INNER JOIN Departments d ON
e.DepartmentID = d.DepartmentID
) as EmpInfo
WHERE RowNum BETWEEN @startRowIndex AND (@startRowIndex + @maximumRows) - 1
من این مثال صفحه بندی را از این لینک (http://aspnet.4guysfromrolla.com/articles/031506-1.aspx) گرفتم و دیدم. خیلی خوب بود و کار کرد
اما وقتی می خوام دیتابیس sqlExpress اون رو تو sql2005 شبیه سازی کنم. همه جداول و sp هاش کار می کنه ولی sp اصلی که دستور Row Numbe () ایجاد نمیشه و error زیر رو می ده .
Msg 195, Level 15, State 10, Procedure GetEmployeesSubset, Line 19
'ROW_NUMBER' is not a recognized function name.
اون sp هم اینه . مشکل کجاست؟
CREATE PROCEDURE dbo.GetEmployeesSubset
(
@startRowIndex int,
@maximumRows int
)
AS
SET @startRowIndex = @startRowIndex + 1
SELECT EmployeeID, LastName, FirstName, DepartmentID, Salary,
HireDate, DepartmentName
FROM
(SELECT EmployeeID, LastName, FirstName, e.DepartmentID, Salary,
HireDate, d.Name as DepartmentName,
ROW_NUMBER() OVER(ORDER BY EmployeeID) as RowNum
FROM Employees e
INNER JOIN Departments d ON
e.DepartmentID = d.DepartmentID
) as EmpInfo
WHERE RowNum BETWEEN @startRowIndex AND (@startRowIndex + @maximumRows) - 1