作者gargamel (Nerding)
看板Database
标题Re: [SQL ] 请问insert的时候如果遇到重覆的资料(A …
时间Thu Nov 15 16:14:15 2007
试看看分开写
INSERT INTO testb
(SELECT *
FROM testa a
WHERE NOT EXISTS (SELECT *
FROM testb b
WHERE a.KEY = b.KEY))
update testb b set ...
where exists (SELECT *
FROM testa a
WHERE a.KEY = b.KEY))
我也倾向使用slalala的方法
利用程式的exception handle机制去catch错误
我的做法是把insert写成一个function
call insert时发生pk重复则删除该笔, 然後再call一次insert
这样好处是只要写一次insert statment, 不用另外写update
※ 引述《kazumi6533 (patrick)》之铭言:
: 请问一下
: 如果我有一笔资料要insert,但是不知道是不是会有重覆
: 如果重覆的话就用update,那我应该怎麽做
: 是不是只能先select一个recordset,然後检查recordset里面是不是有该笔
: 然後再决定要不要insert或update?
: 如果是这样我应该怎麽做比较好,因为我资料很多,大概一百万笔左右
: 如果每一笔都这样检查是不是会变得很慢...orz..
: 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.243.151.204
※ 编辑: gargamel 来自: 210.243.151.204 (11/15 16:17)