日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

揭秘SQL Server中刪除重復(fù)數(shù)據(jù)的方法_Mssql數(shù)據(jù)庫教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:揭秘Sql語句優(yōu)化注意事項
1.盡量不要對列名進行函數(shù)處理。而是針對后面的值進行處理 例如where col1 = -5的效率比where -col1=5的效率要高 因為后面的條件對列值進行了計算。這樣的條件下優(yōu)化器無法使用索引 而是要針對所有值進行計算之后才能再比較 2.盡量使用和數(shù)劇列一樣的值進行

數(shù)據(jù)庫的使用過程中由于程序方面的問題有時候會碰到重復(fù)數(shù)據(jù),重復(fù)數(shù)據(jù)導(dǎo)致了數(shù)據(jù)庫部分設(shè)置不能正確設(shè)置……

方法一

以下為引用的內(nèi)容:

declare @max integer,@id integer
declare cur_rows cursor local for select 主字段,count(*) from 表名 group by 主字段 having count(*) > 1
open cur_rows
fetch cur_rows into @id,@max
while @@fetch_status=0
begin
select @max = @max -1
set rowcount @max
delete from 表名 where 主字段 = @id
fetch cur_rows into @id,@max
end
close cur_rows
set rowcount 0

方法二

有兩個意義上的重復(fù)記錄,一是完全重復(fù)的記錄,也即所有字段均重復(fù)的記錄,二是部分關(guān)鍵字段重復(fù)的記錄,比如Name字段重復(fù),而其他字段不一定重復(fù)或都重復(fù)可以忽略。

1、對于第一種重復(fù),比較容易解決,使用

以下為引用的內(nèi)容:

select distinct * from tableName

就可以得到無重復(fù)記錄的結(jié)果集。

如果該表需要刪除重復(fù)的記錄(重復(fù)記錄保留1條),可以按以下方法刪除

以下為引用的內(nèi)容:

select distinct * into #Tmp from tableName
drop table tableName
select * into tableName from #Tmp
drop table #Tmp

發(fā)生這種重復(fù)的原因是表設(shè)計不周產(chǎn)生的,增加唯一索引列即可解決。

2、這類重復(fù)問題通常要求保留重復(fù)記錄中的第一條記錄,操作方法如下

假設(shè)有重復(fù)的字段為Name,Address,要求得到這兩個字段唯一的結(jié)果集

以下為引用的內(nèi)容:

select identity(int,1,1) as autoID, * into #Tmp from tableName
select min(autoID) as autoID into #Tmp2 from #Tmp group by Name,autoID
select * from #Tmp where autoID in(select autoID from #tmp2)

最后一個select即得到了Name,Address不重復(fù)的結(jié)果集(但多了一個autoID字段,實際寫時可以寫在select子句中省去此列)查詢分析器不能單步調(diào)試的的原因

  具體步驟如下:

  1、將服務(wù)器【身份驗證】屬性設(shè)置成【混合模式】(window與SQL身份驗證)

  2、在【控制面板】中打開【服務(wù)】將【MS SQL Server】服務(wù)打開【屬性】,選擇【登錄】頁面,將登錄身份設(shè)置成服務(wù)器本地帳號和該帳號密碼,如administrator,密碼123;

  3、重新啟動SQL Server服務(wù),此時的服務(wù)指的是【SQL服務(wù)管理器】中的SQL Server服務(wù);假設(shè)【帳號】設(shè)置為administrator 。此時達到的效果是:服務(wù)器本地帳號administrator與客戶端上的administrator(并且該帳號的密碼要與服務(wù)器密碼相同)可以通過【查詢分析器】進行調(diào)試;如果想讓【其他帳號】也能夠調(diào)試,那么還需要如下設(shè)置:
  a、在【服務(wù)器】上運行dcomcnfg.exe;

  b、在【默認安全機制】中【默認訪問權(quán)限】右邊點擊【編輯默認值】選擇允許調(diào)試的帳號類型,如users用戶類型,sample帳號有包含users組;

  c、重新啟動SQL Server服務(wù);

  3、在客戶端上創(chuàng)建與服務(wù)帳號密碼一樣的用戶,如sample;做到這步就可以通過查詢分析器的調(diào)試功能進行單步調(diào)試了。
  注:第二步更改“啟動服務(wù)帳戶”,在第一次登錄之前,必須更改用戶密碼。不然,event log:以當(dāng)前密碼登錄的嘗試因下列錯誤而宣告失�。� 在第一次登錄之前,必須更改用戶密碼。

 

分享:解析J2EE中SQL語句自動構(gòu)造方法
INSERT、DELETE、UPDATE 三種SQL語句是數(shù)據(jù)庫技術(shù)的三大基本語句. 在通常的web開發(fā)中對它的處理可以說是無處不在. 如果簡單的都用手工來構(gòu)造這些SQL語句的話, 一方面給我們的開發(fā)帶來很大的工作量, 另一方面系統(tǒng)靈活性受到很大的限制. 那么能不能基于某種規(guī)

來源:模板無憂//所屬分類:Mssql數(shù)據(jù)庫教程/更新時間:2009-11-16
相關(guān)Mssql數(shù)據(jù)庫教程