MS-SQL에서 게시판의 페이지 형태로 읽어오는 Stored Procedure
생성시
CreateprocSEL_PAGELIST
@PAGE_NOINT=1,--페이지번호
@PAGE_SIZEINT=20,--한페이지에서읽어올자료수
@TABLE_NAMEVARCHAR(255),--테이블명
@SORT_FIELDVARCHAR(255),--OrderBy절에들어갈소트필드
@FIELDSVARCHAR(1024)='*',--쿼리해올필드들
@WHEREVARCHAR(1024)=NULL,--조건
@SORT_DIRVARCHAR(12)='ASC'--소트구분(오름차순,내림차순)
AS
------------------------------------------------
--페이지단위로보기
------------------------------------------------
DECLARE@STARTINT--ID_Num시작번호
DECLARE@ENDINT--ID_Num끝번호
DECLARE@SQLNVARCHAR(2000)
DECLARE@SQL2NVARCHAR(2000)
SET@END=(@PAGE_NO*@PAGE_SIZE)-1
SET@START=(@PAGE_NO-1)*@PAGE_SIZE
--TempTable에값을써넣는쿼리를만든다.
SET@SQL='SELECT'+@FIELDS+',IDENTITY(int,0,1)ASID_Num'+
'Into#Work_tmp'+
'FROM'+@TABLE_NAME
IF@WHERE<>''
SET@SQL=@SQL+'Where'+@WHERE
SET@SQL=@SQL+'ORDERBY'+@SORT_FIELD+''+@SORT_DIR;
--이놈이실제데이터를읽어오는놈이다.
Set@SQL2='Select*From#Work_tmp'+
'WhereID_Num>='+Cast(@StartasChar)+
'AndID_Num<='+Cast(@ENDasChar)
--같은실행세션에묶어야한다.
--EXEC문이실행종료와동시에세션이끊어지므로TempTable에서데이터를쿼리할수없다.
Set@SQL=@SQL+''+@SQL2
EXECSP_EXECUTESQL@SQL
GO
SETQUOTED_IDENTIFIEROFF
GO
SETANSI_NULLSON
GO
실행시:
EXECSEL_PAGELIST3,20,'C11','C11_CO_CODE','*',NULL,'ASC'

'IT > DB' 카테고리의 다른 글

[SYBASE] isql 접속  (0) 2008.09.20
[SYBASE] 기본 교육  (0) 2008.09.20
[ORACLE] PL/SQL 정리  (0) 2008.09.20
[DB2] 개발자 친화적인 대안, DB2 Express-C  (0) 2008.09.20
[DB2] DB2에서 JDBC 연결하기  (0) 2008.09.20

+ Recent posts