SQL SERVER ·ÖÒ³´æ´¢¹ý³Ì
´æ´¢¹ý³Ì´úÂ룺
--drop procedure p_page
--go
create procedure p_page
(
@Tables varchar(1000), --±íÃûÈçtesttable
@PrimaryKey varchar(100),--±íµÄÖ÷¼ü,±ØÐëΨһÐÔ
@Sort varchar(200) = NULL,--ÅÅÐò×Ö¶ÎÈçf_Name asc»òf_name desc(×¢ÒâÖ»ÄÜÓÐÒ»¸öÅÅÐò×Ö¶Î)
@CurrentPage int = 1,--µ±Ç°Ò³
@PageSize int = 10,---ÿҳ´óС
@Fields varchar(1000) = '*',--ÏÔʾµÄ×Ö¶ÎÁбí
@Filter varchar(1000) = NULL,--Ìõ¼þÓï¾ä,²»¼Ówhere,Èç f_id>3
@Group varchar(1000) = NULL,--·Ö×é×Ö¶Î
@TotalPage int output --·µ»Ø×ÜÒ³Êý
)
WITH ENCRYPTION ---¼ÓÃÜ´æ´¢
AS
SET NOCOUNT ON
Declare @intResult Int
Begin Tran
DECLARE @sql nvarchar(4000)
if @Filter is null or @Filter=''
set @Sql = 'select @intResult = count(' + @PrimaryKey + ') from ' + @Tables
else
set @Sql = 'select @intResult = count(' + @PrimaryKey + ') from ' + @Tables + ' where + ' + @Filter
EXEC sp_executesql @sql,N'@intResult int OUTPUT',@intResult OUTPUT--¼ÆËã×ܼǼÊý
select @TotalPage=CEILING((@intResult+0.0)/@PageSize)--¼ÆËã×ÜÒ³Êý
IF @Sort IS NULL or @Sort = ''
SET @Sort = @PrimaryKey
DECLARE @SortTable varchar(100)
DECLARE @SortName varchar(100)
DECLARE @strSortColumn varchar(200)
DECLARE @operator char(2)
DECLARE @type varchar(100)
DECLARE @prec int
IF CHARINDEX('DESC',@Sort)>0
BEGIN
SET @strSortColumn = REPLACE(@Sort, 'DESC', '')
SET @operator = '<='
END
ELSE
IF CHARINDEX('ASC', @Sort) > 0
BEGIN
SET @strSortColumn = REPLACE(@Sort, 'ASC', '')
SET @operator = '>='
END
ELSE
BEGIN
SET @strSortColumn = @SORT
SET @operator = '>='
END
IF CHARINDEX('.', @str
Ïà¹ØÎĵµ£º
ÔÚSQLÓï¾äÖУ¬³£³£Óûá¶Ôʱ¼ä£¨»òÈÕÆÚ£©½øÐÐһЩ´¦Àí£¬ÏÂÃæÊDZȽÏͨÓõÄһЩÓï¾ä£º
ÑÓ³Ù£º
sysdate+(5/24/60/60) ÔÚϵͳʱ¼ä»ù´¡ÉÏÑÓ³Ù5Ãë
sysdate+5/24/60 ÔÚϵͳʱ¼ä»ù´ ......
Îı¾ nvarchar(n)
±¸×¢ ntext
Êý×Ö(³¤ÕûÐÍ) int
Êý×Ö(ÕûÐÍ) smallint
Êý×Ö(µ¥¾«¶È) real
Êý×Ö(Ë«¾«¶È) float
Êý×Ö(×Ö½Ú) tinyint
»õ±Ò money
ÈÕÆÚ smalldatetime
²¼¶û bit
¸½£º×ª»»³ÉSQLµÄ½Å±¾¡£
ALTER TABLE tb ALTER COLUMN aa Byte Êý×Ö[×Ö½Ú]
ALTER TABLE tb ALTER COLUMN aa Long Êý×Ö[³¤ÕûÐÍ]
ALTER T ......
¡¡¡¡¼ÙÉèÄãÏëÕÒÊéÖеÄijһ¸ö¾ä×Ó¡£Äã¿ÉÒÔÒ»Ò³Ò»Ò³µØÖðÒ³ËÑË÷£¬µ«Õâ»á»¨ºÜ¶àʱ¼ä¡£¶øÍ¨¹ýʹÓÃË÷Òý£¬Äã¿ÉÒÔºÜ¿ìµØÕÒµ½ÄãÒªËÑË÷µÄÖ÷Ìâ¡£
¡¡¡¡±íµÄË÷ÒýÓ븽ÔÚÒ»±¾ÊéºóÃæµÄË÷Òý·Ç³£ÏàËÆ¡£Ëü¿ÉÒÔ¼«´óµØÌá¸ß²éѯµÄËÙ¶È¡£¶ÔÒ»¸ö½Ï´óµÄ±íÀ´Ëµ£¬Í¨¹ý¼ÓË÷Òý£¬Ò»¸öͨ³£Òª»¨·Ñ¼¸¸öСʱÀ´Íê³ÉµÄ²éѯֻҪ¼¸·ÖÖӾͿÉÒÔÍê³É¡£Òò´ËûÓÐÀíÓÉ¶Ô ......
--desc ±íÃû ÃèÊö±íµÄÄÚÈÝ
desc emp;
--¼ÓÉÏÊýѧ±í´ïʽºÍÁÐÃû ""±£³Ö¸ñʽ
select ename "name space", sal*12 year_sal from emp;
select 2*3 from dual;
select sysdate from dual;
--¿ÕÖµµÄÊýѧ±í´ïʽ ½á¹û¶¼ÊÇ¿ÕÖµ
select ename, sal*12 + comm from emp;
- ......