库存单据触发器的写法????
pbfan 2003-08-18 10:02:52 在单据审核时,要求根据单据明细表里的每条记录更新库存表的
对应的库存记录数量。
各表结构如下 :
单据主表:
CREATE TABLE [dbo].[OutputBill] (
[pm_rowid] [tdRowID] IDENTITY (1, 1) NOT NULL ,
[departmentID] [tdRowID] NOT NULL ,
[SendEmpID] [tdRowID] NOT NULL ,
[ReceiveEmpID] [tdRowID] NOT NULL ,
[OutBillCode] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[OutType] [varchar] (1) COLLATE Chinese_PRC_CI_AS NULL ,
[OutDay] [datetime] NULL ,
[WareHouseCode] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[WareHouseName] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,
[SunAmount] [decimal](12, 4) NULL ,
[SumMoney] [tdmoney] NULL ,
[WriteMan] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[WriteDay] [datetime] NULL ,
[LeaderDay] [datetime] NULL ,
[AccountMan] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[AccountDay] [datetime] NULL ,
[CheckDay] [datetime] NULL ,
[BillState] [varchar] (1) COLLATE Chinese_PRC_CI_AS NULL ,
[Accountant] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[Leader] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[remark] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[FirstPCode] [tFirstPCode] NULL
) ON [PRIMARY]
GO
明细表:
CREATE TABLE [dbo].[OutputBillDtl] (
[pm_rowID] [tdRowID] IDENTITY (1, 1) NOT NULL ,
[OutputBillID] [tdRowID] NULL ,
[EquipmentID] [tdRowID] NOT NULL ,
[EquReqDtlID] [tdRowID] NULL ,
[RequestAmount] [decimal](12, 4) NULL ,
[CheckAmount] [decimal](12, 4) NULL ,
[OutAmount] [decimal](12, 4) NULL ,
[OutPrice] [tdmoney] NULL ,
[purpose] [varchar] (2) COLLATE Chinese_PRC_CI_AS NULL ,
[isMain] [varchar] (2) COLLATE Chinese_PRC_CI_AS NULL ,
[remark] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
库存表:
CREATE TABLE [dbo].[Storage] (
[pm_rowID] [tdRowID] NOT NULL ,
[FirstPCode] [tFirstPCode] NOT NULL ,
[MendDay] [datetime] NULL ,
[HouseCode] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[Place] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,
[StockPrice] [tdmoney] NULL ,
[BeginAmount] [decimal](12, 4) NULL ,
[HighAmount] [decimal](12, 4) NULL ,
[LowAmount] [decimal](12, 4) NULL ,
[InAmount] [decimal](12, 4) NULL ,
[OutAmount] [decimal](12, 4) NULL ,
[ComeBackAmount] [decimal](12, 4) NULL ,
[GoBackAmount] [decimal](12, 4) NULL ,
[DamnifyAmount] [decimal](12, 4) NULL ,
[LoseAmount] [decimal](12, 4) NULL ,
[StorageAmount] [decimal](12, 4) NULL
) ON [PRIMARY]
GO
关联关系:
OutputBill.pm_rowid=OutputBillDtl.OutputBillID
OutputBillDtl.EquipmentID=Storage.pm_rowid