Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

sql´æ´¢¹ý³Ì·ÖÒ³

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[pagination]
@tblName varchar(255), -- ±íÃû
@strGetFields varchar(1000), -- ÐèÒª·µ»ØµÄÁÐ
@fldName varchar(255), -- ÅÅÐòµÄ×Ö¶ÎÃû
@PageSize int, -- Ò³³ß´ç
@PageIndex int, -- Ò³Âë
@OrderType bit, -- ÉèÖÃÅÅÐòÀàÐÍ, ·Ç 0 ÖµÔò½µÐò
@strWhere varchar(1500), -- ²éѯÌõ¼þ (×¢Òâ: ²»Òª¼Ó where)
@rowCount int output, --²éѯµ½µÄ¼Ç¼Êý
@pagecount int output
AS
declare @strSQL varchar(5000) -- Ö÷Óï¾ä
declare @strTmp varchar(110) -- ÁÙʱ±äÁ¿
declare @strOrder varchar(400) -- ÅÅÐòÀàÐÍ
declare @strCountTmp nvarchar(100) --¼Ç¼Êý 
begin
if @strWhere !=''
set @strCountTmp = 'select @rowCount = count(*) from [' + @tblName + '] where '+@strWhere
else
set @strCountTmp = 'select @rowCount = rowCount_tmp from tmp where (table_tmp = ''' + @tblName +''')'
exec sp_executesql @strCountTmp,N'@rowCount int out',@rowCount out --Êä³ö×ܼǼÊý
declare @totalpage int
set @pagecount=@rowCount/@PageSize
if @OrderType != 0
begin
set @strTmp = '<(select min'
set @strOrder = ' order by ' + @fldName +' desc'
--Èç¹û@OrderType²»ÊÇ0£¬¾ÍÖ´ÐнµÐò£¬Õâ¾äºÜÖØÒª£¡
end
else
begin
set @strTmp = '>(select max'
set @strOrder = ' order by ' + @fldName +' asc'
end
if @PageIndex = 1
begin
if @strWhere != ''
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from [' + @tblName + '] where ' + @strWhere + ' ' + @strOrder
else
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from ['+ @tblName + '] '+ @strOrder
--Èç¹ûÊǵÚÒ»Ò³¾ÍÖ´ÐÐÒÔÉÏ´úÂ룬ÕâÑù»á¼Ó¿ìÖ´ÐÐËÙ¶È
end
else
begin
--ÒÔÏ´úÂ븳ÓèÁË@strSQLÒÔÕæÕýÖ´ÐеÄSQL´úÂë
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from ['
+ @tblName + '] where [' + @fldName + ']' + @strTmp + '(['+ @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['+ @fldName + '] from [' + @tblName + ']' + @strOrder + ') as tblTmp)'+ @strOrder
if @strWhere != ''
set @str


Ïà¹ØÎĵµ£º

{ת}SQLÓÅ»¯34 Ìõ½¨Òé

(1)  Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò
(
Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧ
)
£º
ORACLE µÄ½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àí
from
×Ó¾ä
ÖеıíÃû£¬
from
×Ó¾äÖÐдÔÚ×îºóµÄ±í
(
»ù´¡±í 
driving table)
½«±»×îÏÈ´¦Àí£¬ÔÚ
from
×Ó¾äÖаüº¬¶à¸ö±íµÄÇé¿öÏÂ
,
Äã±ØÐëÑ¡
Ôñ¼Ç¼ÌõÊý×îÉٵıí×÷Ϊ»ù´¡±í ......

SQLÖÐ CAST Óë CONVERTת»¯º¯ÊýµÄÓ÷¨

 ½«Ä³ÖÖÊý¾ÝÀàÐ͵ıí´ïʽÏÔʽת»»ÎªÁíÒ»ÖÖÊý¾ÝÀàÐÍ¡£CAST ºÍ CONVERT ÌṩÏàËƵŦÄÜ¡£
Óï·¨
ʹÓà CAST£º
CAST ( expression AS data_type )
ʹÓà CONVERT£º
CONVERT (data_type[(length)], expression [, style])
²ÎÊý
expression
ÊÇÈκÎÓÐЧµÄ Microsoft® SQL Server™ ±í´ïʽ¡£Óйظü¶àÐÅÏ¢£¬Çë² ......

ÓαêÊôÐÔSQL%FOUND,SQL%NOTFOUND,SQL%ROWCOUNT

¡¡¡¡µ±Ö´ÐÐÒ»ÌõDMLÓï¾äºó£¬DMLÓï¾äµÄ½á¹û±£´æÔÚËĸöÓαêÊôÐÔÖУ¬ÕâЩÊôÐÔÓÃÓÚ¿ØÖƳÌÐòÁ÷³Ì»òÕßÁ˽â³ÌÐòµÄ״̬¡£µ±ÔËÐÐDMLÓï¾äʱ£¬PL/SQL´ò¿ªÒ»¸öÄÚ½¨Óα겢´¦Àí½á¹û£¬ÓαêÊÇά»¤²éѯ½á¹ûµÄÄÚ´æÖеÄÒ»¸öÇøÓò£¬ÓαêÔÚÔËÐÐDMLÓï¾äʱ´ò¿ª£¬Íê³Éºó¹Ø±Õ¡£ÒþʽÓαêֻʹÓÃSQL%FOUND,SQL%NOTFOUND,SQL%ROWCOUNTÈý¸öÊôÐÔ.SQL%FOUND,SQ ......

SqlÓï¾äµÄ³£Ó÷½·¨

1.ÈçºÎ½«Ò»¸öSQL Server±íµÄ½á¹¹¸´ÖƵ½ÁíÒ»¸öн¨µÄ±íÖÐ
    select * into бí from ¾É±í where 0 = 1
2.ÐÞ¸Ä×Ö¶ÎĬÈÏÖµ
    alter table ±íÃû add default ĬÈÏÖµ for ×Ö¶ÎÃû
3. È¡µÃÊý¾Ý¿â½á¹¹
    SELECT name from sysdatabases
4.Ôö¼ÓÁÐ
  ......

SQL Server SQLÓï¾äµ¼Èëµ¼³ö´óÈ«

/*******  µ¼³öµ½excel
EXEC master..xp_cmdshell ’bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""’
/***********  µ¼ÈëExcel
SELECT *
from OpenDataSource( ’Microsoft.Jet.OLEDB.4.0’,
  ’Data Source="c:\test.xls";User ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ