寻数据存储的解决方案,高手请进来,在线等,如解决立即给分
我需要用下面三张表建立一个数据存储,在Powerbuilder中调用,调用时传递过来一个调拨出库单编号,实现这样的功能,根据调拨出库单的编号在调拨出库单明细表中检索出这张出库单上的所有药品项,然后在 药品库存 表上把对应库房内的这种药品都检索出来,按照批次从小到大的顺序去扣库存数量,直到把调拨单上的数量扣完。因为同一库房同一药品如果是不同批号我是分开记录的,为了实现按照批次的先进先出。批次小的先出库,这个批次实际录入时会强制为060528这样的字样,其实就是一个日期拉。(所有库房的库存都放在这张库存表里,所以有库房这个数据项)
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[药品库存]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[药品库存]
GO
CREATE TABLE [dbo].[药品库存] (
[编号] [int] IDENTITY (1, 1) NOT NULL ,
[药品编号] [int] NULL ,
[名称] [varchar] (150) COLLATE Chinese_PRC_CI_AS NULL ,
[批号] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[效期] [smalldatetime] NULL ,
[库存数量] [decimal](18, 2) NULL ,
[单位] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[库房] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,
[库存金额] [decimal](26, 2) NULL
) ON [PRIMARY]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[调拨出库单主单]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[调拨出库单主单]
GO
CREATE TABLE [dbo].[调拨出库单主单] (
[调拨单编号] [varchar] (12) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[日期] [smalldatetime] NULL ,
[源库房] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,
[目标库房] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,
[制单人] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[审核状态] [bit] NULL ,
[金额] [decimal](18, 2) NULL
) ON [PRIMARY]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[调拨出库单明细]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[调拨出库单明细]
GO
CREATE TABLE [dbo].[调拨出库单明细] (
[编号] [int] IDENTITY (1, 1) NOT NULL ,
[调拨单编号] [varchar] (12) COLLATE Chinese_PRC_CI_AS NULL ,
[药品编号] [int] NULL ,
[调拨数量] [decimal](12, 2) NULL ,
[单位] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[出库单价] [decimal](12, 2) NULL ,
[金额] [decimal](26, 2) NULL
) ON [PRIMARY]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[药品库存]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[药品库存]
GO
CREATE TABLE [dbo].[药品库存] (
[编号] [int] IDENTITY (1, 1) NOT NULL ,
[药品编号] [int] NULL ,
[名称] [varchar] (150) COLLATE Chinese_PRC_CI_AS NULL ,
[批号] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[效期] [smalldatetime] NULL ,
[库存数量] [decimal](18, 2) NULL ,
[单位] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[库房] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,
[库存金额] [decimal](26, 2) NULL
) ON [PRIMARY]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[调拨出库单主单]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[调拨出库单主单]
GO
CREATE TABLE [dbo].[调拨出库单主单] (
[调拨单编号] [varchar] (12) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[日期] [smalldatetime] NULL ,
[源库房] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,
[目标库房] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,
[制单人] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[审核状态] [bit] NULL ,
[金额] [decimal](18, 2) NULL
) ON [PRIMARY]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[调拨出库单明细]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[调拨出库单明细]
GO
CREATE TABLE [dbo].[调拨出库单明细] (
[编号] [int] IDENTITY (1, 1) NOT NULL ,
[调拨单编号] [varchar] (12) COLLATE Chinese_PRC_CI_AS NULL ,
[药品编号] [int] NULL ,
[调拨数量] [decimal](12, 2) NULL ,
[单位] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[出库单价] [decimal](12, 2) NULL ,
[金额] [decimal](26, 2) NULL
) ON [PRIMARY]
GO
...全文
相关推荐
MySQL与NoSQL:混合数据存储解决方案
1.背景介绍 在当今的大数据时代,数据的存储和处理已经成为企业和组织中的重要问题。传统的关系型数据库MySQL已经不能满足现实中复杂多样的数据存储和处理需求。因此,NoSQL数据库技术诞生,为我们提供了一种更加灵活、高性能的数据存储和处理方式。本文将从以下几个方面进行阐述: 背景介绍 核心概念与联系
国央企在推动科技创新时,如何利用技术交易系统实现全流程闭环管理?.docx
国央企在推动科技创新时,如何利用技术交易系统实现全流程闭环管理?
高校技术转移办公室人员如何提升技术成果的推介效率?.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。
机械三维3D设计图-自动引孔锁螺丝设备.zip
机械三维3D设计图-自动引孔锁螺丝设备.zip
sogou-wubi-5.5f.zip
五笔输入法


应用实例
