database sql 問題........ |
尚未結案
|
inorman
一般會員 發表:6 回覆:5 積分:2 註冊:2004-07-31 發送簡訊給我 |
有一個database 的table 出現了問題, 原來這個table 有4 個field 做primary key 的, 但不知發生什麼問題, 在一年前那個table 的primary key 無故沒有設定..... 現在問題就是這樣, 我想加回那組primary key, 但table 的record 己重覆入了好多次, 即是原來table 可能得二十萬record, 但每個record 就重覆入了兩次或三次不等. 情況如下.
shop_id inv_no stock_date sn
shop1 1111 2004/4/4 22222
shop1 1111 2004/4/4 22222
shop1 1111 2004/4/4 22222 1. select shop_id, inv_no, stock_date, sn from table1 group by shop_id, inv_no, stock_date, sn, 將以上query result 放入adoquery. 2. 刪除以上所有record. 3. 再重新insert 一個record. 由於record 重覆的數目實在太大, 大約有幾十萬個, 如果要用我上面提及的方法, 我想要執行大約幾十萬句delete statement, 幾十萬句insert statement...請問各位高手有沒有方法可以只刪除重覆了的record, 以上面為例, 三個record 的資料是完全一樣的, 但我要只刪除兩個record, 只剩下一個record.
|
eric039
中階會員 發表:57 回覆:126 積分:51 註冊:2002-11-30 發送簡訊給我 |
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi inorman, 以下幾篇討論,你參考看看
http://delphi.ktop.com.tw/topic.php?topic_id=28013
http://delphi.ktop.com.tw/topic.php?topic_id=34158
http://delphi.ktop.com.tw/topic.php?topic_id=46844 1.select distinct shop_id,inv_no,stock_date,sn into temp from OldTable
2.truncate table OldTable
3.insert into oldTable select * from temp
4.drop table temp ----------------------------------
小弟才疏學淺,若有謬誤尚請不吝指教
----------------------------------
------
Fishman |
inorman
一般會員 發表:6 回覆:5 積分:2 註冊:2004-07-31 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |