标题:讨论一下 spt 保存数据的方法
只看楼主
kiff
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:贵宾
威 望:46
帖 子:756
专家分:2531
注 册:2013-1-30
结帖率:100%
已结贴  问题点数:20 回复次数:6 
讨论一下 spt 保存数据的方法
我用 spt 保存数据(如有多条记录的一张单子)时,先用delete 删除这单子原有的数据,然后再 insert 保存数据。
你们是怎搞的?说说吧。
搜索更多相关主题的帖子: insert 
2013-02-27 14:42
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:7 
我是利用ID号,ID号为零的即表示新增的记录,不为零则更新原记录。保存时则比较慢。

[ 本帖最后由 hu9jj 于 2013-2-27 15:45 编辑 ]

活到老,学到老! http://www. E-mail:hu-jj@
2013-02-27 15:43
kiff
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:贵宾
威 望:46
帖 子:756
专家分:2531
注 册:2013-1-30
得分:0 
回复 2楼 hu9jj
你这方法对索引影响较小。
2013-02-27 16:04
qingfameng
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:35
帖 子:964
专家分:3019
注 册:2010-2-6
得分:7 
(如有多条记录的一张单子)? 指的是什么?1、有待于刷新的源数据表?2、还是准备要保存到数据库中的临时数据表?两者处理起来截然不同。如果是1,那么先 updata ... where (类似记录已存时),再 insert where (新记录)
如果是2,不用判定,直接 insert. 要使得速度加快,sqlprepare() 很有用。

2013-02-27 23:52
kiff
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:贵宾
威 望:46
帖 子:756
专家分:2531
注 册:2013-1-30
得分:0 
回复 4楼 qingfameng
多条记录的单子,例如货品入库单吧,在入库输入模块,可能是新开的入仓单(数据表没记录),也可能是调出已存在的入仓单进行修改,这些都是放在一临时表进行编辑, 这样保存时都有可能出现操作(update、  delete 、insert )。所以我是统一为一个模式,即先DELETE 后 insert.
2013-02-28 09:12
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:7 
本来不需要用临时表,但如果用了,就必须把原来的数据全部清掉(用编码标识),再灌入编辑过的数据。数据重复存在,就必然会有这样或那样的问题。

授人以渔,不授人以鱼。
2013-02-28 14:48
qingfameng
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:35
帖 子:964
专家分:3019
注 册:2010-2-6
得分:0 
回复5楼楼主:你的做法可行。有一定好处,因为可以使编程有固定模式遵循。要是再加个判断,使的不是修改单据时,不再 updata 或 delete ,减少访问数据库次数,更好点。我用的一般是调用存储过程。而且使用的参数,用固定模式参数,不是直接写字段名称。这样,不管表结构和字段如何变化,都可以调用这段程序。可以试试。
2013-03-02 13:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-399298-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.082252 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved