作者grence (多想两分钟 = =")
看板Database
标题Re: [SQL ] 关於UPDATE大量资料
时间Fri Jun 20 23:26:59 2008
※ 引述《slalala (WIKI大学生写作业的题材)》之铭言:
: 现在有个需求是关於资料异动。
: 不过因为资料关联非常复杂 因此有一些小疑问。
: 表格大概是
: 1.消费者资料 2.地址资料
: PK使用身分证 其他表格则FK到消费者资料
: 可是地址资料我分的非常细且为了维持格式一致(参考邮局表格)
: 所以县市 区 路 街 巷 号 楼 都是一个个的栏位
: 以至於要更新的时候SQL指令会变的很复杂
: 一次更新大概需要update 20几个栏位
....好像是常见的痛 orz
同状况的另一个痛是显示地址…目前都是在存的时候顺便存一个兜起来的地址。
: 前端的部分不是问题 jsp+js都能克服
: 现在卡在SQL的UPDATE不确定怎麽做才是最好的
: 我有个想法是 当程式侦测到消费者资料有需要更新的时候
: 先将地址资料删除(除了消费者资料是用UPDATE)
: 然後再新增新地址的资料
: 例如:
: 旧消费者资料 旧消费者地址 ->侦测到异动消费者资料 ->
: UPDATE 消费者TABLE ,DELETE 旧消费者地址 ,INSERT新消费者地址。
: 简单说每次异动地址都会删除再新增。
: 想请问一下这样做会有缺点吗?
: 还是真的完全不建议这麽做?
update本来就等於 delete再 insert;
真要说缺点…只想到没有包交易,可能删了没新增,效率不会差太多
不过,感觉就是怪怪的 囧a
我只有汇资料才会用这种作法,省掉判断该 insert还是 update,
一般维护程式很容易可以区分该新增还是修改…
: 如果真的不建议这样的方式 就只能花苦功慢慢update
能解决问题的方式都好,有多种方式再来研究哪个好。
这个状况我想不到用 delete..insert能省到什麽工?
栏位不都要一个一个 key吗?请指教。
: 感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.229.209.153
1F:推 slalala:我是用JSP 自己写一个convert的地址转换程式 无痛XD 06/20 23:54
2F:推 slalala:表格加起来共50多个栏位 当然DEL INSERT有省到工 06/21 00:04
3F:推 slalala:INSERT的部份做过了 所以才想DELETE後用继承INSERT解决XD 06/21 02:42