一个进货主表,一个进货细表,一个库存表.如果库存表里没有商品记录,那么把进货的商品资料写入库存表里,如果有把库存表里的数量同时更改

sbj325 2004-08-28 09:26:47
一个进货主表,一个进货细表,一个库存表.如果库存表里没有商品记录,那么把进货的商品资料写入库存表里,如果有把库存表里的数量同时更改
主表:进货单号,仓库号
细表:进货单号,商品号,商品名,进货价,进货数据,小计
库存表:仓库号,商品号,库存数量.
...全文
394 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hmily1688 2004-08-28
  • 打赏
  • 举报
回复
用存储过程吧,只传一个进货单号
进货主表:jh_zb
进货细表:jh_mx
库存表:kuc

create procedure jinhtokc
@jh_no varchar(50)
as
declare @sp_no varchar(50)
declare @ck_no varchar(50)
declare @jh_sl numeric(18,3)
begin
begin tran
select @ck_no=ck_no from jh_zb where jh_no=@jh_no
declare cur_rk cursor for select sp_no,jh_sl from jh_mx where jh_no=@jh_no
open cur_rk
fetch next from cur_rk into @sp_no,@jh_sl
while @@fetch_status=0
begin
select * from kuc where ck_no=@ck_no and sp_no=@sp_no
if @@rowcount > 0
begin
update kuc set kc_sl=kc_sl+@jh_sl where ck_no=@ck_no and sp_no=@sp_no
if @@error > 0 rollback tran
end
else
begin
insert into kuc(ck_no,sp_no,kc_sl) values(@ck_no,@sp_no,@jh_sl)
if @@error > 0 rollback tran
end
fetch next from cur_rk into @sp_no,@jh_sl
end
close cur_rk
deallocate cur_rk
commit tran
end

sbj325 2004-08-28
  • 打赏
  • 举报
回复
我想这样来设计:
selce 进货主表.仓库号,进货细表.商品号 from 库存表 where 进货号:=进货号

如里选择出来的仓库号没有那么自动添加仓库和商品数据量到库存表里,
如果有仓库号没有商品号,也是自动添加商品数到库存表里。
如果有仓库号也有商品号,那么更改数量。

我不会用触发器,我想在命令按钮click里发生这样的事件.

哪位老兄帮我写一下代码,分不够再加
capoatguitar 2004-08-28
  • 打赏
  • 举报
回复
总之你是要+上一个判断,可以在程序中,也可以在后台数据库。如果程序判断,则根据不同的判断条件提交不同SQL语句,如果在后台写就写存储过程。
sbj325 2004-08-28
  • 打赏
  • 举报
回复
确定每个仓库里的库存,不是整个的库存
sbj325 2004-08-28
  • 打赏
  • 举报
回复
mssql后台数据库
yhf_zhangqian 2004-08-28
  • 打赏
  • 举报
回复
if not EXISTS(select 商品号 from 库存表)
insert into 库存表(...) values(...)
--依次插入主表明细表
--更新库存
当然要加上事务
capoatguitar 2004-08-28
  • 打赏
  • 举报
回复
什么数据库?
要SQL语句??
sbj325 2004-08-28
  • 打赏
  • 举报
回复
更改查询条件是以进货单号为基础.多谢各位了
yifei1900 2004-08-28
  • 打赏
  • 举报
回复
或者用触发器,
在更新主表时,用触发器同时更新从表。

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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