当前位置: 代码迷 >> Sql Server >> 请教怎么写存储过程,多谢
  详细解决方案

请教怎么写存储过程,多谢

热度:90   发布时间:2016-04-27 11:05:47.0
请问如何写存储过程,谢谢!
分别有库存和仓库二张表,现在给定缺少的备件名称,缺货的仓库名称,以及缺货的数量,找出拥有这个备件的离缺货仓库最近的仓库名称,

请问如何写存储过程,谢谢!

-- --建立库存表
--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 ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author:        prcak47    -- Create date: 20111200-- Description:    分别有库存和仓库二张表,现在给定缺少的备件名称,缺货的仓库名称,以及缺货的数量,--                找出拥有这个备件的离缺货仓库最近的仓库名称,-- =============================================create PROCEDURE [dbo].[up_find_spare] @SpareName varchar(8),@StorageName varchar(8),@SpareAmount intASBEGIN----找到存货数量大于需求数量的仓库select storagename,stockamountinto #stock_hasfrom stock    where SpareName = @SpareName    and stockamount >= @SpareAmount----找到有配件的,距离最短的仓库,但是算法上只能是各个仓库距距离中心的位置和----这会造成如果仓库本身有库存,距离是仓库本身距离中心的两倍select top 1 storage.storageName,        #stock_has.stockamount,        storage.distance + storage_own.distancefrom 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
  相关解决方案