ÔÚGoogleÉÏʹÓÓsql ·ÖÒ³”¹Ø¼ü×Ö½øÐÐËÑË÷£¬¼¸ºõËùÓеĴ𰸶¼ÊÇÄÇÈýÌõ¡£Æä¶þЧÂÊ×î¸ß£¬ÆäÈýʹÓÃÓα꣬ЧÂÊ×î²î¡£
ÏÂÃæÊÇÄÇÈýÖÖ·½·¨ £¨²åÈë´úÂëûÓÐsqlÑ¡Ï
·½·¨1£º
ÊÊÓÃÓÚ SQL Server 2000/2005
SELECT TOP Ò³´óС *
from table1
WHERE id NOT IN
(
SELECT TOP Ò³´óС*(Ò³Êý-1) id from table1 ORDER BY id
)
ORDER BY id
·½·¨2£º
ÊÊÓÃÓÚ SQL Server 2000/2005
SELECT TOP Ò³´óС *
from table1
WHERE id >
(
SELECT ISNULL(MAX(id),0)
from
(
SELECT TOP Ò³´óС*(Ò³Êý-1) id from table1 ORDER BY id
) A
)
ORDER BY id
·½·¨3£º
ÊÊÓÃÓÚ SQL Server 2005
SELECT TOP Ò³´óС *
from
(
SELECT ROW_NUMBER() OVER (ORDER BY id) AS RowNumber,* from table1
) A
WHERE RowNumber > Ò³´óС*(Ò³Êý-1)
´ÖÂÔ¿´ÁË£¬ÕâÈýÖÖ·½·¨¶¼Ã»ÓÃ´í¡£ËµµÄ¶¼ÓÐÀí¡£Ïà¶ÔÀ´ËµÇ°Á½ÖÖ·½·¨¶ÔÓ ......
ÔÚGoogleÉÏʹÓÓsql ·ÖÒ³”¹Ø¼ü×Ö½øÐÐËÑË÷£¬¼¸ºõËùÓеĴ𰸶¼ÊÇÄÇÈýÌõ¡£Æä¶þЧÂÊ×î¸ß£¬ÆäÈýʹÓÃÓα꣬ЧÂÊ×î²î¡£
ÏÂÃæÊÇÄÇÈýÖÖ·½·¨ £¨²åÈë´úÂëûÓÐsqlÑ¡Ï
·½·¨1£º
ÊÊÓÃÓÚ SQL Server 2000/2005
SELECT TOP Ò³´óС *
from table1
WHERE id NOT IN
(
SELECT TOP Ò³´óС*(Ò³Êý-1) id from table1 ORDER BY id
)
ORDER BY id
·½·¨2£º
ÊÊÓÃÓÚ SQL Server 2000/2005
SELECT TOP Ò³´óС *
from table1
WHERE id >
(
SELECT ISNULL(MAX(id),0)
from
(
SELECT TOP Ò³´óС*(Ò³Êý-1) id from table1 ORDER BY id
) A
)
ORDER BY id
·½·¨3£º
ÊÊÓÃÓÚ SQL Server 2005
SELECT TOP Ò³´óС *
from
(
SELECT ROW_NUMBER() OVER (ORDER BY id) AS RowNumber,* from table1
) A
WHERE RowNumber > Ò³´óС*(Ò³Êý-1)
´ÖÂÔ¿´ÁË£¬ÕâÈýÖÖ·½·¨¶¼Ã»ÓÃ´í¡£ËµµÄ¶¼ÓÐÀí¡£Ïà¶ÔÀ´ËµÇ°Á½ÖÖ·½·¨¶ÔÓ ......
HOLDLOCK ½«¹²ÏíËø±£Áôµ½ÊÂÎñÍê³É£¬¶ø²»ÊÇÔÚÏàÓ¦µÄ±í¡¢ÐлòÊý¾ÝÒ³²»ÔÙÐèҪʱ¾ÍÁ¢¼´ÊÍ·ÅËø¡£HOLDLOCK µÈͬÓÚ SERIALIZABLE¡£
NOLOCK ²»Òª·¢³ö¹²ÏíËø£¬²¢ÇÒ²»ÒªÌṩÅÅËüËø¡£µ±´ËÑ¡ÏîÉúЧʱ£¬¿ÉÄÜ»á¶ÁȡδÌá½»µÄÊÂÎñ»òÒ»×éÔÚ¶ÁÈ¡Öмä»Ø¹öµÄÒ³Ãæ¡£ÓпÉÄÜ·¢ÉúÔà¶Á¡£½öÓ¦ÓÃÓÚ SELECT Óï¾ä¡£
PAGLOCK ÔÚͨ³£Ê¹Óõ¥¸ö±íËøµÄµØ·½²ÉÓÃÒ³Ëø¡£
READCOMMITTED ÓÃÓëÔËÐÐÔÚÌá½»¶Á¸ôÀ뼶±ðµÄÊÂÎñÏàͬµÄËøÓïÒåÖ´ÐÐɨÃ衣ĬÈÏÇé¿öÏ£¬SQL Server 2000 Ôڴ˸ôÀ뼶±ðÉϲÙ×÷¡£ READPAST Ìø¹ýËø¶¨ÐС£´ËÑ¡Ïîµ¼ÖÂÊÂÎñÌø¹ýÓÉÆäËüÊÂÎñËø¶¨µÄÐУ¨ÕâЩÐÐƽ³£»áÏÔʾÔÚ½á¹û¼¯ÄÚ£©£¬¶ø²»ÊÇ×èÈû¸ÃÊÂÎñ£¬Ê¹ÆäµÈ´ýÆäËüÊÂÎñÊÍ·ÅÔÚÕâЩÐÐÉϵÄËø¡£READPAST ËøÌáʾ½öÊÊÓÃÓÚÔËÐÐÔÚÌá½»¶Á¸ôÀ뼶±ðµÄÊÂÎñ£¬²¢ÇÒÖ»ÔÚÐм¶ËøÖ®ºó¶ÁÈ¡¡£½öÊÊÓÃÓÚ SELECT Óï¾ä¡£ READUNCOMMITTED µÈͬÓÚ NOLOCK¡£
REPEATABLEREAD ÓÃÓëÔËÐÐÔÚ¿ÉÖظ´¶Á¸ôÀ뼶±ðµÄÊÂÎñÏàͬµÄËøÓïÒåÖ´ÐÐɨÃè¡£
ROWLOCK ʹÓÃÐм¶Ëø£¬¶ø²»Ê¹ÓÃÁ£¶È¸ü´ÖµÄÒ³¼¶ËøºÍ±í¼¶Ëø¡£
SERIALIZABLE ÓÃÓëÔËÐÐÔÚ¿É´®ÐжÁ¸ôÀ뼶±ðµÄÊÂÎñÏàͬµÄËøÓïÒåÖ´ÐÐɨÃè¡£µÈͬÓÚ HOLDLOCK¡£
TABLOCK ʹÓñíËø´úÌæÁ£¶È¸üϸµÄÐм¶Ëø»òÒ³¼¶Ëø¡£ÔÚÓï¾ä½áÊøÇ°£¬SQL Server Ò»Ö±³ ......
±¾ÎÄÀ´×ÔCSDN²©¿Í£ºhttp://blog.csdn.net/jinjazz/archive/2008/07/14/2650506.aspx
½«oledb¶ÁÈ¡µÄexcelÊý¾Ý¿ìËÙ²åÈëµÄsqlserverÖУ¬ºÜ¶àÈËͨ¹ýÑ»·À´Æ´½Ósql£¬ÕâÑù×ö²»µ«ÈÝÒ׳ö´í¶øÇÒЧÂʵÍÏ£¬×îºÃµÄ°ì·¨ÊÇʹÓÃbcp£¬Ò²¾ÍÊÇSystem.Data.SqlClient.SqlBulkCopy ÀàÀ´ÊµÏÖ¡£²»µ«Ëٶȿ죬¶øÇÒ´úÂë¼òµ¥£¬ÏÂÃæ²âÊÔ´úÂëµ¼ÈëÒ»¸ö6Íò¶àÌõÊý¾ÝµÄsheet£¬°üÀ¨¶ÁÈ¡£¨È«²¿¶ÁÈ¡±È½ÏÂý£©ÔÚÎҵĿª·¢»·¾³ÖÐÖ»ÐèÒª10Ãë×óÓÒ£¬¶øÕæÕýµÄµ¼Èë¹ý³ÌÖ»ÐèÒª4.5Ãë¡£
using System;
using System.Data;
using System.Windows.Forms;
using System.Data.OleDb;
namespace WindowsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
  ......
±¾ÎÄÀ´×ÔCSDN²©¿Í£ºhttp://blog.csdn.net/jinjazz/archive/2008/07/14/2650506.aspx
½«oledb¶ÁÈ¡µÄexcelÊý¾Ý¿ìËÙ²åÈëµÄsqlserverÖУ¬ºÜ¶àÈËͨ¹ýÑ»·À´Æ´½Ósql£¬ÕâÑù×ö²»µ«ÈÝÒ׳ö´í¶øÇÒЧÂʵÍÏ£¬×îºÃµÄ°ì·¨ÊÇʹÓÃbcp£¬Ò²¾ÍÊÇSystem.Data.SqlClient.SqlBulkCopy ÀàÀ´ÊµÏÖ¡£²»µ«Ëٶȿ죬¶øÇÒ´úÂë¼òµ¥£¬ÏÂÃæ²âÊÔ´úÂëµ¼ÈëÒ»¸ö6Íò¶àÌõÊý¾ÝµÄsheet£¬°üÀ¨¶ÁÈ¡£¨È«²¿¶ÁÈ¡±È½ÏÂý£©ÔÚÎҵĿª·¢»·¾³ÖÐÖ»ÐèÒª10Ãë×óÓÒ£¬¶øÕæÕýµÄµ¼Èë¹ý³ÌÖ»ÐèÒª4.5Ãë¡£
using System;
using System.Data;
using System.Windows.Forms;
using System.Data.OleDb;
namespace WindowsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
  ......
SQLServer Öк¬×ÔÔöÖ÷¼üµÄ±í£¬Í¨³£²»ÄÜÖ±½ÓÖ¸¶¨IDÖµ²åÈ룬¿ÉÒÔ²ÉÓÃÒÔÏ·½·¨²åÈë¡£
1. SQLServer ×ÔÔöÖ÷¼ü´´½¨Óï·¨£º
identity(seed, increment)
ÆäÖÐ
seed Æðʼֵ
increment ÔöÁ¿
ʾÀý£º
create table student(
id int identity(1,1),
name varchar(100)
)
2. Ö¸¶¨×ÔÔöÖ÷¼üÁÐÖµ²åÈëÊý¾Ý(SQL Server 2000)
ÏÈÖ´ÐÐÈçÏÂÓï¾ä
SET IDENTITY_INSERT [ database. [ owner. ] ] { table } ON
È»ºóÔÙÖ´ÐвåÈëÓï¾ä
×îºóÖ´ÐÐÈçÏÂÓï¾ä
SET IDENTITY_INSERT [ database. [ owner. ] ] { table } OFF
ʾÀý£º
±í¶¨ÒåÈçÏÂ
create table student(
id int identity(1,1),
name varchar(100)
)
²åÈëÊý¾Ý
set IDENTITY_INSERT student ON
insert into student(id,name)values(1,'student1');
insert into student(id,name)values(2,'student2');
set IDENTITY_INSERT student OFF ......
ÔÚsqlserver(Ó¦¸Ã˵ÔÚÄ¿Ç°ËùÓÐÊý¾Ý¿â²úÆ·)Öд´½¨Ò»¸ö×ÊÔ´Èç±í£¬ÊÓͼ£¬´æ´¢¹ý³ÌÖж¼ÒªÅжÏÓë´´½¨µÄ×ÊÔ´ÊÇ·ñÒѾ´æÔÚ
ÔÚsqlserverÖÐÒ»°ã¿Éͨ¹ý²éѯsys.objectsϵͳ±íÀ´µÃÖª½á¹û£¬²»¹ý¿ÉÒÔÓиü·½±ãµÄ·½·¨
ÈçÏ£º
if object_id('tb_table') is not null
print 'exist'
else
print'not exist'
ÈçÉÏ£¬¿ÉÓÃobject_id()À´¿ìËÙ´ïµ½ÏàͬµÄÄ¿µÄ£¬tb_table¾ÍÊÇÎÒ½«Òª´´½¨µÄ×ÊÔ´µÄÃû³Æ£¬ËùÒÔÒªÏÈÅжϵ±Ç°Êý¾Ý¿âÖв»´æÔÚÏàͬµÄ×ÊÔ´
object_id()¿É½ÓÊÜÁ½¸ö²ÎÊý£¬µÚÒ»¸öÈçÉÏËùʾ£¬´ú±í×ÊÔ´µÄÃû³Æ£¬ÉÏÃæµÄ¾ÍÊDZíµÄÃû×Ö£¬µ«ÍùÍùÎÒÃÇҪ˵Ã÷ÎÒÃÇËùÒª´´½¨µÄÊÇʲôÀàÐ͵Ä×ÊÔ´£¬
ÕâÑùsql¿ÉÒÔÃ÷È·µØÔÚÒ»ÖÖÀàÐ͵Ä×ÊÔ´ÖвéÕÒÊÇ·ñÓÐÖظ´µÄÃû×Ö£¬ÈçÏ£º
if object_id('tb_table','u') is not null
print 'exist'
else
print'not exist'
µÚ¶þ¸ö²ÎÊý "u" ¾Í±íʾtb_tableÊÇÓ ......
ÔÎÄת×Ô:http://dev.csdn.net/develop/article/71/71778.shtm
´ó¶àÊýSQL Server±íÐèÒªË÷ÒýÀ´Ìá¸ßÊý¾ÝµÄ·ÃÎÊËٶȣ¬Èç¹ûûÓÐË÷Òý£¬SQL ServerÒª½øÐбí¸ñɨÃè¶ÁÈ¡±íÖеÄÿһ¸ö¼Ç¼²ÅÄÜÕÒµ½Ë÷ÒªµÄÊý¾Ý¡£Ë÷Òý¿ÉÒÔ·ÖΪ´ØË÷ÒýºÍ·Ç´ØË÷Òý£¬´ØË÷Òýͨ¹ýÖØÅűíÖеÄÊý¾ÝÀ´Ìá¸ßÊý¾ÝµÄ·ÃÎÊËٶȣ¬¶ø·Ç´ØË÷ÒýÔòͨ¹ýά»¤±íÖеÄÊý¾ÝÖ¸ÕëÀ´Ìá¸ßÊý¾ÝµÄË÷Òý¡£
Ë÷ÒýµÄÌåϵ½á¹¹£º
ΪʲôҪ²»¶ÏµÄά»¤±íµÄË÷Òý£¿Ê×ÏÈ£¬¼òµ¥½éÉÜÒ»ÏÂË÷ÒýµÄÌåϵ½á¹¹¡£SQL ServerÔÚÓ²ÅÌÖÐÓÃ8KBÒ³ÃæÔÚÊý¾Ý¿âÎļþÄÚ´æ·ÅÊý¾Ý¡£È±Ê¡Çé¿öÏÂÕâЩҳÃæ¼°Æä°üº¬µÄÊý¾ÝÊÇÎÞ×éÖ¯µÄ¡£ÎªÁËʹ»ìÂÒ±äΪÓÐÐò£¬¾ÍÒªÉú³ÉË÷Òý¡£Éú³ÉË÷Òýºó£¬¾ÍÓÐÁËË÷ÒýÒ³ºÍÊý¾ÝÒ³£¬Êý¾ÝÒ³±£´æÓû§Ð´ÈëµÄÊý¾ÝÐÅÏ¢¡£Ë÷ÒýÒ³´æ·ÅÓÃÓÚ¼ìË÷ÁеÄÊý¾ÝÖµÇåµ¥£¨¹Ø¼ü×Ö£©ºÍË÷Òý±íÖиÃÖµËùÔڼͼµÄµØÖ·Ö¸Õë¡£Ë÷Òý·ÖΪ´ØË÷ÒýºÍ·Ç´ØË÷Òý£¬´ØË÷ÒýʵÖÊÉÏÊǽ«±íÖеÄÊý¾ÝÅÅÐò£¬¾ÍºÃÏñÊÇ×ÖµäµÄË÷ÒýĿ¼¡£·Ç´ØË÷Òý²»¶ÔÊý¾ÝÅÅÐò£¬ËüÖ»±£´æÁËÊý¾ÝµÄÖ¸ÕëµØÖ·¡£ÏòÒ»¸ö´ø´ØË÷ÒýµÄ±íÖвåÈëÊý¾Ý£¬µ±Êý¾ÝÒ³´ïµ½100%ʱ£¬ÓÉÓÚÒ³ÃæûÓпռä²åÈëеĵļͼ£¬Õâʱ¾Í»á·¢Éú·ÖÒ³£¬SQL Server ½«´óÔ¼Ò»°ëµÄÊý¾Ý´ÓÂúÒ³ÖÐÒƵ½¿ÕÒ³ÖУ¬´Ó¶øÉú³ÉÁ½¸ö°ëµÄÂúÒ³¡£ÕâÑù¾ÍÓдó ......