自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SQL Server 2005學(xué)習(xí)筆記之?dāng)?shù)據(jù)修改心得

數(shù)據(jù)庫(kù) SQL Server
本文我們主要介紹了SQL Server 2005數(shù)據(jù)修改操作的一些心得,在此拿出來(lái)與大家分享,希望能夠?qū)δ兴鶐椭?/div>

SQL Server 2005數(shù)據(jù)庫(kù)操作中,數(shù)據(jù)修改操作是我們經(jīng)常要使用的,因此是必須要掌握的。以前為了動(dòng)態(tài)返回sp或批處理的結(jié)果,做為下一步處理的中繼數(shù)據(jù),總是使用臨時(shí)表和openQuery來(lái)實(shí)現(xiàn)。有時(shí)還實(shí)現(xiàn)不了,比如需要指定參數(shù)的sp.其實(shí)有INSERT EXEC很好解決我的這些困擾。Insert Exec 語(yǔ)句可以把存儲(chǔ)過(guò)程或動(dòng)態(tài)批處理返回的結(jié)果集直接保存到現(xiàn)有表中:INSERT INTO <target_table> EXEC {<proc_name> | (<dynamic_batch>)};

例如:

  1. INSERT INTO DBO.Result  
  2. EXEC DBO.USP_MYSP @Parm1='A',@Parm2='B' 

 

刪除數(shù)據(jù)只知道TRUNCATE和無(wú)WHERE DELETE區(qū)別。TRUNCATE日志最小化不觸發(fā)TRIGGER,所以要比日志全記錄的無(wú)WHERE DELETE要快。刪除大量數(shù)據(jù)的操作,肯定要指定WHERE的,能做的就是寫(xiě)好語(yǔ)句,等著執(zhí)行完畢。在執(zhí)行過(guò)程會(huì)發(fā)生日志暴漲,鎖升級(jí)等狀況卻沒(méi)有考慮到。

假設(shè)MYTB是***的表,要?jiǎng)h除其中幾百萬(wàn)行,老辦法會(huì)執(zhí)行很久必然會(huì)有阻塞發(fā)生??梢杂萌缦路椒ǎ?/p>

  1. WHILE 11=1  
  2.  Begin  
  3.    Delete TOP(5000) From dbo.MYTB  
  4.    Where myCol='del';  
  5.    IF @@ROWCOUNT<5000 
  6.     BREAK;  
  7.  End 

 

這樣第次刪除5000行,當(dāng)刪除到***一批數(shù)據(jù),不足5000行就跳出。鎖升級(jí)的可能大大降低。移除重復(fù)性數(shù)據(jù),這是一個(gè)老話題了,針對(duì)行重復(fù)、部分列重復(fù),無(wú)非就是DISTINCT,主鍵,臨時(shí)表之類(lèi)的處理方法,在SQL2005里新引入的CTE和ROW_NUMBER函數(shù)可以提供一個(gè)清晰和清新的解決方法:

假設(shè)MYTB沒(méi)有主鍵列,有部分重復(fù)數(shù)據(jù)需要?jiǎng)h除,則可以:

  1. WITH DUPS AS  
  2.  (  
  3.    SELECT *,ROW_NUMBER() OVER (ORDER BY COL1,COL2,COL3) AS RN  
  4.    FROM DBO.MYTB  
  5. )  
  6. DELETE FROM DUPS WHERE RN>

 

關(guān)于SQL Server 2005數(shù)據(jù)修改的心得就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!

【編輯推薦】

  1. SQL Server 2008 MDX學(xué)習(xí)筆記之理解元數(shù)組
  2. SQL Server數(shù)據(jù)庫(kù)DataRelation的應(yīng)用示例詳解
  3. SQL Server 2005/2008中的CTE應(yīng)用之遞歸查詢(xún)
  4. SQL Server 2008數(shù)據(jù)庫(kù)學(xué)習(xí)筆記之MDX查詢(xún)示例
  5. 淺析SQL Server數(shù)據(jù)庫(kù)SSIS導(dǎo)入IIS日志的簡(jiǎn)單步驟
責(zé)任編輯:趙鵬 來(lái)源: 博客園
相關(guān)推薦

2010-07-12 09:35:02

Sql server

2010-06-30 13:19:17

SQL Server

2010-07-09 11:06:13

SQL Server

2010-07-12 11:06:37

SQL Server2

2011-08-25 14:25:50

SQL Server修改字段屬性

2010-07-20 17:36:55

SQL Server

2010-07-20 17:47:12

2011-08-19 15:13:36

SQL Server MDX查詢(xún)

2010-06-30 10:15:40

SQL Server

2011-04-06 13:04:35

SQL Server 密碼修改

2010-07-09 15:31:25

SQL Server

2010-07-06 15:22:00

SQL Server

2011-08-11 14:23:57

SQL Server 索引分區(qū)

2009-10-23 12:44:35

SQL SERVER

2011-08-25 14:38:14

SQL Server修改表結(jié)構(gòu)字段類(lèi)型

2010-07-23 12:55:29

SQL Server

2011-08-16 09:48:27

SQLPLUS學(xué)習(xí)筆記SQL Buffer

2010-07-14 13:21:19

SQL Server

2010-07-19 11:01:55

SQL Server

2010-07-12 12:41:16

SQL Server
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)