討論區快速選單
知識庫快速選單
軟體開發過程中有哪些資安漏洞? 傑米的攝影旅遊筆記
[ 回上頁 ] [ 討論區發言規則 ]
如何避免INSERT重複資料
更改我的閱讀文章字型大小
作者 : aa101(aa101)
[ 貼文 9 | 人氣 2707 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2009/1/31 下午 01:53:10
INSERT A (PN , PNORI )
SELECT NEW.PNOLD , A.PNORI FROM A INNER JOIN NEW ON A.PN=NEW.PNNEW
如何避免INSERT重複資料到A資料表?
作者 : 7836(cancer) 人氣指數超過10000點
[ 貼文 100 | 人氣 10753 | 評價 210 | 評價/貼文 2.1 | 送出評價 9 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2009/1/31 下午 10:45:53
您好,

必須先做判斷,用 select Count(*) as 筆數 from 資料表 where 鍵值欄位 = ...
筆數等於零時 insert,否則用 update

我的同事都用另一種方法,就是不管三七二十一,
一律先用 delete from 資料表 where 鍵值欄位 = ...
然後再 insert,看似好用,但資料表有索引的話,就會增加資料庫負擔,
而如果資料表有自動增號欄位,自動增號會增加得很快,如果欄位是 int,
很容易爆掉,必須用 bigint
作者 : pcjung(max)
[ 貼文 117 | 人氣 1792 | 評價 630 | 評價/貼文 5.38 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2009/2/2 上午 07:40:33
可以在 Trigger 中檢查,檢查到有重覆就下 Rollback ,也可以在 Before trigger 中做判斷,沒有重覆的資料才允許Insert。
作者 : pantc328(好說) C#優秀好手貼文超過500則人氣指數超過10000點
[ 貼文 894 | 人氣 14154 | 評價 3400 | 評價/貼文 3.8 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2009/2/2 上午 08:50:11
正向不行就反向作.程設師要學會逆向思考
INSERT A (PN , PNORI )
SELECT NEW.PNOLD , A.PNORI FROM A INNER JOIN NEW ON A.PN<>NEW.PNNEW
作者 : aries_chen(Aries) Java卓越專家貼文超過500則
[ 貼文 782 | 人氣 1941 | 評價 3690 | 評價/貼文 4.72 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2009/2/2 上午 09:32:07
如果select出來會有重複的資料
可以加上distinct看看能否過濾掉
 板主 : 徵求中
 > SQL Server 2005 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - SQL Server 2005 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
SQL Server 2005
1 小朱 380 
2 老芋仔 300 
3 狼鷹 150 
4 joe 100 
5 Aries 100 
6 100 
7 LionX 50 
8 50 
9 Peter.huang 50 
10 jonay 50 
SQL Server 2005
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.046875