數據庫的使用過程中由于程序方面的問題有時候會碰到重復數據,重復數據導致了數據庫部分設置不能正確設置……
方法一
以下為引用的內容: declare @max integer,@id integer |
方法二
有兩個意義上的重復記錄,一是完全重復的記錄,也即所有字段均重復的記錄,二是部分關鍵字段重復的記錄,比如Name字段重復,而其他字段不一定重復或都重復可以忽略。
1、對于第一種重復,比較容易解決,使用
以下為引用的內容: select distinct * from tableName |
就可以得到無重復記錄的結果集。
如果該表需要刪除重復的記錄(重復記錄保留1條),可以按以下方法刪除
以下為引用的內容: select distinct * into #Tmp from tableName |
發生這種重復的原因是表設計不周產生的,增加唯一索引列即可解決。
2、這類重復問題通常要求保留重復記錄中的第一條記錄,操作方法如下
假設有重復的字段為Name,Address,要求得到這兩個字段唯一的結果集
以下為引用的內容: select identity(int,1,1) as autoID, * into #Tmp from tableName |
最后一個select即得到了Name,Address不重復的結果集(但多了一個autoID字段,實際寫時可以寫在select子句中省去此列)查詢分析器不能單步調試的的原因
具體步驟如下:
1、將服務器【身份驗證】屬性設置成【混合模式】(window與SQL身份驗證)
2、在【控制面板】中打開【服務】將【MS SQL Server】服務打開【屬性】,選擇【登錄】頁面,將登錄身份設置成服務器本地帳號和該帳號密碼,如administrator,密碼123;
3、重新啟動SQL Server服務,此時的服務指的是【SQL服務管理器】中的SQL Server服務;假設【帳號】設置為administrator 。此時達到的效果是:服務器本地帳號administrator與客戶端上的administrator(并且該帳號的密碼要與服務器密碼相同)可以通過【查詢分析器】進行調試;如果想讓【其他帳號】也能夠調試,那么還需要如下設置:
a、在【服務器】上運行dcomcnfg.exe;
b、在【默認安全機制】中【默認訪問權限】右邊點擊【編輯默認值】選擇允許調試的帳號類型,如users用戶類型,sample帳號有包含users組;
c、重新啟動SQL Server服務;
3、在客戶端上創建與服務帳號密碼一樣的用戶,如sample;做到這步就可以通過查詢分析器的調試功能進行單步調試了。
注:第二步更改“啟動服務帳戶”,在第一次登錄之前,必須更改用戶密碼。不然,event log:以當前密碼登錄的嘗試因下列錯誤而宣告失敗: 在第一次登錄之前,必須更改用戶密碼。
新聞熱點
疑難解答