를 반환하지 않습니다 나는이 내가SQL 트랜잭션에서 저장 프로 시저가 올바른 결과
USE [tableName]
GO
SELECT [ID]
,[Name]
FROM [dbo].[News]
where News.[Name] like '%'+ 'te' +'%'
GO
결과 리턴 2 행 "와 같은"수동으로 테이블에서 선택하려 하나의 StoredProcedure
Create PROCEDURE [dbo].[NewsSelect]
@Name nchar(40)=null,
@PublishDate date=null,
@SearchStringName nchar(100)=null,
@Sort char(1)='1',
@Order bit=1,
@startRowIndex int = 1,
@pageSize int = 25,
@TotalRecords int Output
AS
begin
set rowcount @pageSize;
With newsSelect(ID, Name, PublishDate, [Status],RowNumber) as(
select
ID,
Name,
PublishDate,
[Status],
RowNumber
from
(select
ROW_NUMBER() over(order by
case when @Sort = '1' and @Order=1 then News.Name end asc,
case when @Sort = '1' and @Order=0 then News.Name end desc,
case when @Sort = '2' and @Order=1 then News.PublishDate end asc,
case when @Sort = '2' and @Order=0 then News.PublishDate end desc,
case when @Sort = '3' and @Order=1 then News.[Status] end asc,
case when @Sort = '3' and @Order=0 then News.[Status] end desc)as RowNumber,
News.ID,
News.Name as Name,
News.PublishDate,
News.[Status]
from [News]
where (@SearchStringName is null or(@SearchStringName is not null and (Name like '%'[email protected]+'%')))
group by News.ID, News.Name, News.PublishDate,News.[Status]) as temp)
select * from newsSelect where newsSelect.rowNumber> @startRowIndex;
With newsSelect1(ID, Name, PublishDate, [Status],RowNumber) as( select
ID,
Name,
PublishDate,
[Status],
RowNumber
from
(select
ROW_NUMBER() over(order by
case when @Sort = '1' and @Order=1 then News.Name end asc,
case when @Sort = '1' and @Order=0 then News.Name end desc,
case when @Sort = '2' and @Order=1 then News.PublishDate end asc,
case when @Sort = '2' and @Order=0 then News.PublishDate end desc,
case when @Sort = '3' and @Order=1 then News.[Status] end asc,
case when @Sort = '3' and @Order=0 then News.[Status] end desc)as RowNumber,
News.ID,
News.Name as Name,
News.PublishDate,
News.[Status]
from News
where (@SearchStringName is null or(@SearchStringName is not null and (Name like '%'[email protected]+'%')))
group by News.ID, News.Name, News.PublishDate,News.[Status]) as temp)
select @TotalRecords = Count(*) from newsSelect1
END
21 Test 1
22 Test 3
하지만 저장 프로 시저를 테스트 할 때
,USE [tableName]
GO
DECLARE @return_value int,
@TotalRecords int
EXEC @return_value = [dbo].[NewsSelect]
@Name = NULL,
@PublishDate = NULL,
@SearchStringName = N'te',
@Sort = NULL,
@Order = NULL,
@startRowIndex = 0,
@pageSize = 25,
@TotalRecords = @TotalRecords OUTPUT
SELECT @TotalRecords as N'@TotalRecords'
SELECT 'Return Value' = @return_value
GO
이 문제가 어디 0 입니다 반환? 2 행을 반환하지 않는 이유는 무엇입니까?
이 저장 프로 시저'SELECT'의 이름을 지정하지 마십시오 작동 NVARCHAR에 NCHAR 에서 유형을 변경할 때
–을 혼동하고있어'실행하려고? – SWeko