当调拨,销售,购进发生时,库存表的数量要同时改变.当购进的编码,库存表中没有时,则插入编码,库存表中有时,则更新数量.在存储过程中怎样判断?sql语句怎么写?在进销存中还有其他的方法和思路?mssql7.0

dqj 2000-06-16 09:21:00
库存表:编码 门市 数量
购进表:日期 门市 编码 数量 单价
销售表:日期 门市 编码 数量 单价
调拨表:日期 调入门市 调出门市 编码 数量
当调拨,销售,购进发生时,库存表的数量要同
时改变.当购进的编码,库存表中没有时,则插
入编码,库存表中有时,则更新数量.在存储过
程中怎样判断?sql语句怎么写?在进销存中还
有其他的方法和思路?mssql7.0
...全文
522 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dqj 2000-06-21
  • 打赏
  • 举报
回复
十分感谢tuanghuan兄,不厌其烦的邦助,使我终于弄懂了触发器.以前看书时触发器一章总是一跳而过,以为触发器只是保持完整性之用,未料有如此强大的功能.在我这个例子中我决定还是用存储过程动态取得库存.其实这个存储过程也是从tuanghuan兄处学的.
select 编码, 门市,sum(数量) "数量"
from (select 编码, 门市,数量
from b购进
union all
select 编码, 调入方,数量
from b调拨
union all
select 编码, 调出方,-数量
from b调拨
union all
select 编码, 门市,-数量
from b销售) #temp
group by 编码, 门市
有朋友说这样联合三个表,在记录很多时,调用过程又主要是通过ras,可能对速度,性能有较大影响,所以才考虑用库存表,及时更新.但使用触发器出现添加记录时会出现写入冲突,提示复制到剪帖板,我只有关闭窗体,再打开,才能下一条记录输入.这样肯定无法使用.既然触发器与前端无关,这个问题应是access造成,而高手一般不用access,所以这类问题一般不好咨询,而且我是用access2000的adp,资料很少.希望有access的同好单独交流.因为我只是普通用户,也不想再学其它语言,毕竟我不是程序员.
dqj 2000-06-19
  • 打赏
  • 举报
回复
上面的问题在temp前加#
我试了触发器,非常好,能解决我的问题.
我的前端access,只是在添加记录时会出现写入冲突,提示复制到剪帖板,我只有关闭窗体,再打开,才能下一条记录输入.
而在更新时也有写入冲突,然后复复制到剪帖板.
如果添加库存表中没有的门市或编码,提示"缺少或不正确的键列信息,更新影响到过多的行"
如果删除记录,access会提示"其他用户或应用程序已经删除了该记录或更改了其主键的值".
我检查了库存表数量是正确的.后面三项提示可以不理会,第一坝添加记录时会出现写入冲突,提示复制到剪帖板,我只有关闭窗体,再打开,才能下一条记录输入.太影响录入效力
怎样解决呢?
tanghuan 2000-06-19
  • 打赏
  • 举报
回复
数据库触发器与前台无关,你还需要添加,删除触发器

我忘了你使用的是7.0,temp 和 updt 前加as 给子查询取别名
dqj 2000-06-19
  • 打赏
  • 举报
回复
我要怎么做才能免除上面的问题?为什么还要添加,删除触发器?该如何做?
还有,通过购进表输入,库存数量是加,通过销售表输入库存数量是减。我将销售表的触发器的数量*-1,这对不对?insert into b库存(编码, 门市, 数量)
select 编码 ,门市,0*-1
from inserted
where not exists(
select *
from b库存
where b库存.编码 =inserted.编码 and
b库存.门市 =inserted.门市)
update b库存 set 数量=b库存.数量+updt.数量*-1
from b库存 ,(
select 编码, 门市,sum(数量) "数量"
from (select 编码, 门市,数量
from inserted
union all
select 编码, 门市,-数量
from deleted )as #temp
group by 编码, 门市
) as updt
where b库存.编码 =updt.编码 and
b库存.门市 =updt.门市
但是,调拨表不一样:调拨表:日期 调入门市 调出门市 编码 数量
调入门市 ,库存数量加,调出门市,库存数量减,触发器该如何做?
我第一次接触触发器,太多不懂,望指教。


dqj 2000-06-18
  • 打赏
  • 举报
回复
老兄,保存触发器时 提示 ADO错误:incorrect syntax near the keyword "temp"
盼指教.
tanghuan 2000-06-17
  • 打赏
  • 举报
回复
我写了一个修改触发器,希望对你有帮助
tanghuan 2000-06-17
  • 打赏
  • 举报
回复
....
insert into 库存表(编码, 门市, 数量)
select 编码 ,门市 ,0
from inserted
where not exists(
select *
from 库存表
where 库存表.编码 =inserted.编码 and
库存表.门市 =inserted.门市)
update 库存表 set 数量=数量+updt.数量
from 库存表 ,(
select 编码, 门市,sum(数量) "数量"
from (select 编码, 门市,数量
from inserted
union all
select 编码, 门市,-数量
from deleted ) temp
group by 编码, 门市
) updt
where 库存表.编码 =updt.编码 and
库存表.门市 =updt.门市
....
大型连锁药店管理系统源码 多门店药品进销存系统源码 注意:不带技术支持,有帮助文件,虚拟商品,发货不退,看好再拍。 开发语言 : C# 数据库 : SQL2008 开发工具 : VS2010 源码类型 : WebForm 一、源码特点 功能最全面的多门店药品进销存系统,系统根据国家药监局GSP认证规范设计开发 适合各种规模的零售型药店、连锁药店使用,加强药品进销存的规范化管理。 二、功能菜单 1、系统维护:角色管理、往来企业管理、供应商信息管理、本企业信息管理、      商品基本信息管理、门店管理、系统日志、数据字典、处方管理等功能; 2、库存管理:商品入库、商品出库、商品调拨、商品养护、药品拆零; 3、销售管理:商品销售、退货申请、退货审核、邮寄销售、贷寄销售; 4、门店收货:验收入库; 5、客户服务:会员管理; 6、用户心:用户管理、修改密码; 7、商品购进:采购计划; 8、复核管理:入库复核、出库复核、调拨复核、采购复核、拆零复核; 9、库存统计:门店库存商品、商品入库明细、库存商品一览、商品出库明细、           商品调拨明细、积压商品、缺货商品、下架商品、近效期药品统计等功能; 10、销售统计:销售记录明细、退货商品明细、商品销售排行榜、会员购买排行榜、 销售毛利统计、邮寄销售明细、拆零销售明细、凭处方销售查询、凭证件销售查询等功能; 11、报警管理:证书报警、近效期药品报警; 12、盘点管理:库存盘点、盘盈入库、盘亏出库; 13、数据备份:数据库备份; 三、注意事项 1、开发环境为Visual Studio 2010,数据库为SQLServer2008,使用.net 2.0开发 2、管理员登陆名:0001 密码: 123456 3、附加数据库连接字符串配置文件在web.config 4、数据库文件在DB文件夹,附加即可
源码特点 功能最全面的多门店药品进销存系统,系统根据国家药监局GSP认证规范设计开发 适合各种规模的零售型药店、连锁药店使用,加强药品进销存的规范化管理。 二、功能菜单 1、系统维护:角色管理、往来企业管理、供应商信息管理、本企业信息管理、 商品基本信息管理、门店管理、系统日志、数据字典、处方管理等功能; 2、库存管理:商品入库、商品出库、商品调拨、商品养护、药品拆零; 3、销售管理:商品销售、退货申请、退货审核、邮寄销售、贷寄销售; 4、门店收货:验收入库; 5、客户服务:会员管理; 6、用户心:用户管理、修改密码; 7、商品购进:采购计划; 8、复核管理:入库复核、出库复核、调拨复核、采购复核、拆零复核; 9、库存统计:门店库存商品、商品入库明细、库存商品一览、商品出库明细、 商品调拨明细、积压商品、缺货商品、下架商品、近效期药品统计等功能; 10、销售统计:销售记录明细、退货商品明细、商品销售排行榜、会员购买排行榜、 销售毛利统计、邮寄销售明细、拆零销售明细、凭处方销售查询、凭证件销售查询等功能; 11、报警管理:证书报警、近效期药品报警; 12、盘点管理:库存盘点、盘盈入库、盘亏出库; 13、数据备份:数据库备份; 三、注意事项 1、开发环境为Visual Studio 2010,数据库为SQLServer2008,使用.net 2.0开发 2、管理员登陆名:0001 密码: 123456 3、附加数据库连接字符串配置文件在web.config 4、数据库文件在DB文件夹,附加即可

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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