假如一个表中有五百条记录,我想把这五百条记录中的每条记录的某些字段做些修改,然后重新存放到该表中!

loulanlouzhu 2003-08-23 09:39:22
有没有办法先全部取出数据,到一个dataset中,修改后再一次存进去!?


还是要做个循环,读一条存一条!



注意:是重新添加!不是修改数据!
...全文
40 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
loulanlouzhu 2003-08-23
  • 打赏
  • 举报
回复
实际上是一个期初库存的转结问题!

每月都要将上个月的出入库,期初库存进行一次转结并保存!

一般有多少种物资就应该有多少条记录!

由于在期初库存表中有上期每种物资出库入库的数量,即意味这每一次转结只要将上期期初库存表中每种物资的入库+期初库存-出库就是这一期的期初库存了!

每一次转结的记录都要保存!
maoyesky 2003-08-23
  • 打赏
  • 举报
回复
select * into edit_table from your_table

select * from edit_table //進行修改

delete from your_table

insert into your_table select * from edit_table

delete from edit_table
txlicenhe 2003-08-23
  • 打赏
  • 举报
回复
1:读当然可以 "select * from table"
2: 写好象不行。

为什么要这样做呢?
难道不可以用一条update语句完成么?我想应该可以的。
j9988 2003-08-23
  • 打赏
  • 举报
回复
就这样,一句就行了
j9988 2003-08-23
  • 打赏
  • 举报
回复
insert WZ_BeginStock
select
getdate(),
MaterialCode,
storageID,
Number+InStockNumber-OutStockNumber,
UnitPrice,
你的转结人变量,
0,
0
from WZ_BeginStock where month(BlanceDate)=你要转的月份
loulanlouzhu 2003-08-23
  • 打赏
  • 举报
回复
To sdhdy(大江东去...) :该业务逻辑要在程序中实现!用工具肯定行不通!
loulanlouzhu 2003-08-23
  • 打赏
  • 举报
回复
那就举个例子吧!

-->

期初库存表:WZ_BeginStock
字段: BlanceDate(转结日期)
MaterialCode(物资编号)
storageID (仓库代号)
Number(期初库存)
UnitPrice(单价)
BlanceMan(转结人)
InStockNumber(本期入库)
OutStockNumber(本期出库)

每月转结实际上就是转结日期,转结人改为当前日期,当前操作员,本期期初库存=上期期初库存+本期入库-本期出库,然后将本期出库,入库清零


sdhdy 2003-08-23
  • 打赏
  • 举报
回复
1、先用SQL SERVER 导出工具将该五百条记录导出成文件格式。
2、在查询分析器执行-》truncate table tablename
3、修改文件数据
4、用SQL SERVER 导入工具将修改好的文件数据重新导入到表中
pengdali 2003-08-23
  • 打赏
  • 举报
回复
假如一个表中有五百条记录,我想把这五百条记录中的每条记录的某些字段做些修改,然后重新存放到该表中!
re: 如果你的操作有共性可以一句搞定:
insert xx (aa) select aa+1 from yy where ...
如果没有可以用游标

你可以举个例让大家帮你。
haozhiyuan2003 2003-08-23
  • 打赏
  • 举报
回复
这样我想用存储过程做好点
做一个游标循环遍历每一条记录,然后做一下计算,再插入到表中
yujohny 2003-08-23
  • 打赏
  • 举报
回复
这样我想用存储过程做好点
先读出500条数据放在一个临时表中
然后根据你的条件修改这临时表
然后再一次性Insert Into 你的目的表中。

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧