SQL SERVER 2005¹ý³Ì·ÖÒ³
AspNetPagerÊÇÒ»¸ö±È½ÏºÃµÄ·ÖÒ³¿Ø¼þ,¸Ã¿Ø¼þʹÓùý³Ì·Öҳʮ·Ö·½±ã,¹ý³ÌÈçÏÂ:
Create PROCEDURE [dbo].[pt_AspNetPager]
(
@tableName varchar(255), -- ±íÃû
@fieldName varchar(400)= '*', -- ×Ö¶ÎÃû
@strWhere varchar(255) = Null,
@fieldOrder varchar(100), --²»ÄÜΪ¿Õ
@startIndex int,
@endIndex int
)
AS
declare @strSQL varchar(4000)
begin
set @strSQL='WITH temp AS (SELECT ROW_NUMBER() OVER (ORDER BY '+@fieldOrder+') as row,'+@fieldName+' from '+@tableName
if @strWhere<>''
SELECT @strSQL=@strSQL+' where '+@strWhere
SELECT @strSQL=@strSQL+')'
SELECT @strSQL=@strSQL+' SELECT * from temp where row between '+cast(@startIndex as varchar(10))+' and '+cast(@endIndex as varchar(10))
print @strSQL
exec (@strSQL)
END
Ïà¹ØÎĵµ£º
select *from student
select student_id from student
select student_id ,student_name from student
select student_id student_name from student ½«student_name ×÷Ϊstudent_idµÄ±ðÃû´¦Àí
È磺 select student_id a from student
select a=student_id from student
´Óstudent±íÖзֱð¼ ......
/*
Ô±í£º
thid other
a 1
a 1
b 0
b 0
......
----start
ͨ³£SQL PLÖ»ÄÜʹÓÃÔÚ´æ´¢¹ý³Ì¡¢´¥·¢Æ÷¡¢Óû§×Ô¶¨Ò庯ÊýÖУ¬µ«ÊÇÓÐÒ»²¿·ÖSQL PLÒ²¿ÉÒÔÖ±½ÓÔÚÃüÁîÐÐ±à¼Æ÷»ò½Å±¾ÖÐʹÓã¬ËüÃÇÊÇ£º
DECLARE <variable>
SET
CASE
FOR
GET DIAGNOSTICS
GOTO
IF
RETURN
SIGNAL
WHILE
ITERATE
LEAVE
ÒÔÏÂSQL PL²»ÄÜÖ±½ÓÔÚÃüÁîÐÐ±à¼Æ÷»ò ......
Èç¹û°´ÕÕpowerdesignerµÄĬÈÏÑ¡Ïî,Éú³ÉµÄsql²»ÄÜÔÚmysqlÖÐÕýÈ·ÔËÐÐ.]
¾¹ý±¾ÈËÑо¿·¢ÏÖÒª×öÈçÏÂÐÞ¸Ä:
1.aftercreateÑ¡Ïî¸ÄΪ
.foreach_item(OutReferences)
.ifnot (%hasFKIndex%)
/*==============================================================*/
/* Index: ......
×î½üÔÚ¸ãÐÔÄÜÓÅ»¯£¬ÓÉÓÚÏîÄ¿µÄÐèÒª£¬ÎÒÃDZØÐ뾡¿ÉÄܵļõÉÙÊý¾Ý¿âµÄµ÷Óã¬ÓÚÊÇÎÒÃÇ×öÁ˲»ÉÙµÄÓÅ»¯£¬±ÈÈçÔÏÈÐèÒª3¸öÊý¾Ý¿âµ÷Óõģ¬ÏÖÔÚÎÒÃǰÑËüÕûºÏµ½Ò»¸ö´æ´¢¹ý³ÌÖУ¬ÕâÑùÖ»ÐèÒªÒ»¸ö·½·¨¼´¿É¡£
µ«ÕâÒ²²úÉúÁËÁíÍâÒ»¸öÎÊÌ⣬֮ǰÎÒÃÇÊÇʹÓÃMS SQL ProfilerÈ¥¸ú×ÙÊý¾Ý¿âµÄµ÷Óõģ¬ÓÉÓÚÕûºÏÁ˲»ÉÙ´æ´¢¹ý³Ì£¬±ÈÈçÔÏÈÐèÒªÈý¸ö´æ ......