请教怎么写存储过程,多谢
请问如何写存储过程,谢谢!
分别有库存和仓库二张表,现在给定缺少的备件名称,缺货的仓库名称,以及缺货的数量,找出拥有这个备件的离缺货仓库最近的仓库名称,
请问如何写存储过程,谢谢!
-- --建立库存表
--create table stock
--(
-- [id] [int] identity(1,1) primary key,
-- [storageName] [varchar](8) NOT NULL,/*仓库名称*/
-- [spareID] [varchar](8) NOT NULL,/*备件编码*/
-- [spareName] [varchar](20) NOT NULL,/*备件名称*/
-- [model] [varchar](20) NOT NULL,/*型号规格*/
-- [stockAmount] [int] NOT NULL,/*库存数量*/
-- [venderName] [varchar](20) NOT NULL /*厂家名称*/
--)
---- 建立仓库表
--create table storage
--(
-- [id] [int] identity(1,1),
-- [storageID] [varchar](8) NOT NULL primary key,/*仓库编码*/
-- [storageName] [varchar](20) NOT NULL,/*仓库名称*/
-- [storageAddress] [varchar](100) NOT NULL,/*仓库地址*/
-- [storageTel] [varchar](20) NOT NULL,/*仓库电话*/
-- [type] [varchar](20) NOT NULL,/*仓库类别*/
-- [distance] [float] NOT NULL /*距中心距离*/
--)
------解决方案--------------------
给定缺少的备件名称,缺货的仓库名称,以及缺货的数量
---
没看懂。。
------解决方案--------------------
另外需要一个表,记录 应有的备件名称,应有的仓库名称,应有的库存数量
否则没法对比啊.
------解决方案--------------------
分别有库存和仓库二张表,现在给定缺少的备件名称,缺货的仓库名称,以及缺货的数量,找出拥有这个备件的离缺货仓库最近的仓库名称,
请问如何写存储过程,谢谢!
-- --建立库存表
--create table stock
--(
-- [id] [int] identity(1,1) primary key,
-- [storageName] [varchar](8) NOT NULL,/*仓库名称*/
-- [spareID] [varchar](8) NOT NULL,/*备件编码*/
-- [spareName] [varchar](20) NOT NULL,/*备件名称*/
-- [model] [varchar](20) NOT NULL,/*型号规格*/
-- [stockAmount] [int] NOT NULL,/*库存数量*/
-- [venderName] [varchar](20) NOT NULL /*厂家名称*/
--)
---- 建立仓库表
--create table storage
--(
-- [id] [int] identity(1,1),
-- [storageID] [varchar](8) NOT NULL primary key,/*仓库编码*/
-- [storageName] [varchar](20) NOT NULL,/*仓库名称*/
-- [storageAddress] [varchar](100) NOT NULL,/*仓库地址*/
-- [storageTel] [varchar](20) NOT NULL,/*仓库电话*/
-- [type] [varchar](20) NOT NULL,/*仓库类别*/
-- [distance] [float] NOT NULL /*距中心距离*/
--)
------解决方案--------------------
给定缺少的备件名称,缺货的仓库名称,以及缺货的数量
---
没看懂。。
------解决方案--------------------
另外需要一个表,记录 应有的备件名称,应有的仓库名称,应有的库存数量
否则没法对比啊.
------解决方案--------------------
- SQL code
/****** Object: StoredProcedure [dbo].[up_find_spare] Script Date: 12/08/2011 14:47:36 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: prcak47 -- Create date: 20111200 -- Description: 分别有库存和仓库二张表,现在给定缺少的备件名称,缺货的仓库名称,以及缺货的数量, -- 找出拥有这个备件的离缺货仓库最近的仓库名称, -- ============================================= create PROCEDURE [dbo].[up_find_spare] @SpareName varchar(8),@StorageName varchar(8),@SpareAmount int AS BEGIN ----找到存货数量大于需求数量的仓库 select storagename,stockamount into #stock_has from stock where SpareName = @SpareName and stockamount >= @SpareAmount ----找到有配件的,距离最短的仓库,但是算法上只能是各个仓库距距离中心的位置和 ----这会造成如果仓库本身有库存,距离是仓库本身距离中心的两倍 select top 1 storage.storageName, #stock_has.stockamount, storage.distance + storage_own.distance from storage,#stock_has,storage as storage_own where storage.storageName = #stock_has.storageName and storage_own.StorageName = @StorageName order by storage.distance + storage_own.distance desc END