SQL 2005 ´æ´¢¹ý³Ì·ÖÒ³
create PROCEDURE [dbo].[P_PageTest]
@SQL Nvarchar(max), --SQLÓï¾ä²»°üÀ¨ÅÅÐò
@CurPage int, --µ±Ç°Ò³
@PageRows int, --Ò³Ãæ³ß´ç
@Order Nvarchar(20), --ÅÅÐò×Ö¶Î
@OrderType Nvarchar(10), --ÅÅÐòÀàÐ͵¹Ðòdesc»òÕýÐòasc
@TotalRecorder int output
AS
BEGIN
SET NOCOUNT ON;
declare @ExceSQL nvarchar(4000)
--ÉèÖÿªÊ¼ÐкÅ
declare @start_row_num AS int
declare @end_row_num AS int
if(@CurPage=1)
begin
SET @start_row_num = (@CurPage - 1) * @PageRows
SET @end_row_num = @start_row_num+@PageRows
end
else
begin
SET @start_row_num = ((@CurPage - 1) * @PageRows)+1
SET @end_row_num = (@start_row_num+@PageRows)-1
end
--ÉèÖñíʾ
declare @RowNumber nvarchar(100)
set @RowNumber = ', ROW_NUMBER() OVER(ORDER BY ' + @Order +' '+ @OrderType + ') as RowNumber from '
set @SQL = Replace(@SQL,' from ',@RowNumber)
--»ñµÃ×ܼǼÊý
set @ExceSQL = 'WITH tmp AS (' + @SQL + ')
select @TotalRecorder=max(RowNumber) from tmp'
execute sp_executesql @ExceSQL,N'@TotalRecorder int output',@TotalRecorder output
--²éѯÓï¾ä
set @ExceSQL = 'WITH tmp AS (' + @SQL + ')
select * from tmp where RowNumber between ' + Convert(nvarchar,@start_row_num)
+ ' And ' + Convert(nvarchar,@end_row_num)
execute(@ExceSQL)
END
Ïà¹ØÎĵµ£º
SQLµÄÓÅ»¯Ó¦¸Ã´Ó5¸ö·½Ãæ½øÐе÷Õû£º
1.È¥µô²»±ØÒªµÄ´óÐͱíµÄÈ«±íɨÃè
2.»º´æÐ¡ÐͱíµÄÈ«±íɨÃè
3.¼ìÑéÓÅ»¯Ë÷ÒýµÄʹÓÃ
4.¼ìÑéÓÅ»¯µÄÁ¬½Ó¼¼Êõ
5.¾¡¿ÉÄܼõÉÙÖ´Ðмƻ®µÄCost
SQLÓï¾ä£º
ÊǶÔÊý¾Ý¿â(Êý¾Ý)½øÐвÙ×÷µÄΩһ;¾¶£»
ÏûºÄÁË70%~90%µÄÊý¾Ý¿â×ÊÔ´£»¶ÀÁ¢ÓÚ³ÌÐòÉè¼ÆÂß¼£¬Ïà¶ÔÓÚ¶Ô³ÌÐòÔ´´úÂëµÄÓÅ»¯£¬¶ÔSQLÓï¾äµÄÓÅ» ......
´ó¼Ò¶¼ÖªµÀ£¬ÓÃPL/SQLÁ¬½ÓOracle£¬ÊÇÐèÒª°²×°Oracle¿Í»§¶ËÈí¼þµÄ¡£ÓÐûҪÏë¹ý²»°²×°Oracle¿Í»§¶ËÖ±½ÓÁ¬½ÓOracleÄØ£¿
ÆäʵÎÒÒ»Ö±ÏëÕâÑù×ö£¬ÒòΪÕâ¸ö¿Í»§¶ËʵÔÚÌ«ÈÃÈËÌÖÑáÁË£¡£¡£¡²»µ«»á°²×°Ò»¸öJDK£¬¶øÇÒ»¹»á°Ñ×Ô¼º·ÅÔÚ»·¾³±äÁ¿µÄ×îÇ°Ãæ£¬»áÔì³É²»Ð¡µÄÂé·³¡£
&n ......
SQL(Structure Query Language)ÓïÑÔÊÇÊý¾Ý¿âµÄºËÐÄÓïÑÔ¡£
SQLµÄ·¢Õ¹ÊÇ´Ó1974Ä꿪ʼµÄ£¬Æä·¢Õ¹¹ý³ÌÈçÏ£º
1974Äê-----ÓÉBoyceºÍChamberlinÌá³ö£¬µ±Ê±³ÆSEQUEL¡£
1976Äê-----IBM¹«Ë¾µÄSanjaseÑо¿ËùÔÚÑÐÖÆRDBMS SYSTEM Rʱ¸ÄΪSQL¡£
1979Äê-----ORACLE¹«Ë¾·¢±íµÚÒ»¸ö»ùÓÚSQLµÄÉÌÒµ»¯RDBMS²úÆ·¡£
1982Äê-----IBM¹«Ë¾³ö°æµ ......
1. ²é¿´Êý¾Ý¿âµÄ°æ±¾
select @@version
2. ²é¿´Êý¾Ý¿âËùÔÚ»úÆ÷²Ù×÷ϵͳ²ÎÊý
exec master..xp_msver
3. ²é¿´Êý¾Ý¿âÆô¶¯µÄ²ÎÊý
sp_configure
4. ²é¿´Êý¾Ý¿âÆô¶¯Ê±¼ä
select convert(varchar(30),login_time,120) from master ......