资源描述
信息工程学院
《数据库课程设计》论文
题 目:药品存销信息管理系统
学 号:
***********
专业班级:
计算机科学与技术103
姓 名:
*****
指导老师:
******
完成日期:
2012年01月13日
药品存销信息管理系统数据库设计
****
(信息工程学院计算机科学与技术10级3班)
摘 要
本次课程设计是药品存销信息管理系统,伴随着社会的复杂化,传统的“一支笔,一本帐簿”的药品销售管理方式也慢慢的无法适应形势的变化。随着信息技术的发展,计算机已被广泛的用于社会的各个领域,成为推动社会发展的技术动力。因此设计药品存销信息系统是当务之急,本系统包括药品采购,药品存储,药品销售.药品采购包括采购员进货,采购员退货。药品存储包括仓库存储以及仓库管理员管理仓库。药品销售包括顾客买药与顾客退药.本系统包括几个视图来使数据库使用者快速的查询想要得到的信息,本系统包括几个PL/SQL语句块,还包括几个触发器,使得数据得到同步修改,使数据库中的数据更加合理。
关键字:数据库;经销存;药品管理系统
10级计算机科学与技术专业103班数据库应用系统课程设计课程论文
目录
目录 - 1 -
1.需求分析 - 3 —
1.1需求分析阶段处理对象及组织 - 3 -
1。2信息处理及系统功能 — 3 —
1.2.2数据字典 — 5 —
2.数据库结构设计 - 5 -
2。1 概念设计 - 5 —
2.2 逻辑设计 - 8 —
2。2.1 建立关系模式 - 8 —
2.2.2 关系模式规范化处理 — 10 —
以上关系模式中的各实体和联系之间不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF。 — 10 -
2。2。3 用户子模式建立 — 10 -
3. 数据库物理设计 — 10 -
3。1 物理设计阶段目标和任务 — 10 —
3.2数据存储方面 - 11 -
3.2.1 建立索引的原则 - 11 -
4.数据库实施与测试 — 11 -
4.1 数据库实施 - 11 -
4。1。1 数据库及数据库对象建立 - 11 -
5.总结 - 13 -
6.附录 — 13 —
附录1 : — 13 -
附录2 - 17 -
附录3 — 22 -
引言
随着全球信息技术的飞速发展,尤其是因特网的出现和普及,企业和决策都发生 了根本的改变。采用信息技术促进、改造药店的生产、经营、管理,有效采集和处理 信息,增强企业决策的有效性,适应全球发展的要求,将成为企业发展的必由之路. 信息管理系统已经成为现代企业的一个重要标志和衡量企业综合实力的重要组成部分。但是,信息管理系统的开发却非常困难.开发一个成功的企业信息管理系统,不仅要有方方面面的专业知识,还要充分分析企业内部、外部环境的变化和关系,以及 在信息管理系统开发过程中所涉及的设备、技术上的复杂性。这就需要系统开发者不断总结经验,不断探索更好的方法和技术。
如今药品无论在任何时候都是一个国家最重要的东西,也是对一个人最需要的东西,药品管理正处于一个高速发展的时期。药品的信息在供应商与销售部和顾客之间大量的流通,因此,建立一个合适的数据库来管理这些数据是必不可少的。这样药品存销信息管理系统就这样诞生了,它可以高效的来管理这些数据,是药品高效的发货和供应。
本次数据库设计严格按照书上的要求和设计数据库步骤,从需求分析,概念设计,逻辑设计,物理设计,到数据库最后的建立、运行。
1。需求分析
主要包括内容:处理对象及组织;信息处理及系统功能;数据库系统性能需要,数据库系统开发环境需求等。在阐述信息及其处理过程时,要辅助业务流程图、数据流程图及数据字典。对上述三个问题可以以附录的形式详细罗列,但正文中必须指明做了哪些业务流程图、数据流程图和数据字典的规模。
1.1需求分析阶段处理对象及组织
(1)熟悉业务并绘制业务路程图;
(2)根据业务流程图明确有哪些数据流动,绘制数据流程图;
(3)建立数据字典,其中包括数据项、数据结构、数据流、数据存储、处理过程等。
1。2信息处理及系统功能
1。2。1数据流程图
药品存销信息管理系统数据流程图如下
(3) 第一层数据流程图
图1-1第一层数据流程图
(2)第二层数据流程图—-进货
图1-2 进货数据流程图
(4) 第二层数据流程图--销售
图1-3 销售数据流程图
(5) 第二层数据流程图-—存储
图1-4 存储数据流程图
1.2.2数据字典
包含数据项、数据结构、数据流、处理逻辑、数据存储定义(详见附录1)。
2.数据库结构设计
2.1 概念设计
阶段要求:
(1)能真实、充分地反映现实世界,包括事物与事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型;
(2)易于理解,因此可以用它和不熟悉计算机的用户交换意见;
(3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充;
(4)易于向关系、网状、层次等各种数据模型转换。
2.2。1 分E—R图的建立
建立分E-R图的思想:
对需求分析阶段收集到的数据进行分类、组织(聚集),形成实体、实体的属性,标识实体的码,确定实体之间的联系类型(1:1,1:n,m:n),设计分E—R图;
参照数据流程图画出分E—R图
(1) 进货时的分E—R图
图2-1 进货时的分E-R图
(2) 销售时的分E—R图
图2-2销售时的分E-R图
(3) 盘存时的分E—R图
图2-3盘存时的分E-R图
2.1.2 全局/整体E-R图
1.每次集成局部E—R图是,分两步走
(1)合并.解决各分E—R图之间的冲突,将各分E—R图合并起来生成初步的E—R图。
(2)修改和重构。消除不必要的冗余。
总E—R图
图2-4 总E-R图
2。2 逻辑设计
概念设计阶段是独立于任何一种数据模型的,而逻辑设计阶段则与现实结合起来,逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为与项目所支持的数据模型相符合的逻辑结构。具体任务包括将E-R图转换成关系模型、模型优化、数据库模式定义、用户模式设计。
2。2。1 建立关系模式
转化规则:一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。一个1:1联系可以转换为一个独立关系模式,也可以与任意一端关系模式合并;一个1:N联系可以转换为一个独立关系模式,也可以与n端实对应的关系模式合并;一个M:N联系转换为一个独立关系模式,具有相同码的关系模式可以合并
根据以上转化规则可得
供应商(供应商的编号,供应商的名称,供应商的地址,供应商的联系电话)
供应商的编号-〉供应商的名称,供应商的编号->供应商的地址,供应商的编号-〉供应商的联系电话
药品(药品的编号,药品名称,药品重量,药品类别,药品单价,药品生产日期,药品保质期)
药品的编号—>药品名称,药品的编号—>药品重量,药品的编号—>药品类别,药品的编号->药品单价,药品的编号—〉药品生产日期,药品的编号-〉药品保质期
顾客(顾客姓名,顾客编号,顾客年龄,顾客联系电话,顾客地址,顾客邮编)
顾客编号—>顾客姓名,顾客编号-〉顾客年龄,顾客编号->顾客联系电话,顾客编号->顾客地址,顾客编号—>顾客邮编
仓库(仓库编号,仓库当前库存量,仓库最大库存量,仓库最小库存量)
仓库编号->仓库当前容量,仓库编号—>仓库最大容量,仓库编号—>仓库最小容量
工作人员(人员编号,人员名称,人员电话,人员地址,人员类型)
人员编号—〉人员名称,人员编号->人员电话,人员编号-〉人员地址,人员编号—〉人员类型
销售员售货(人员编号,顾客编号,货物编号,购买数量,销售日期)
(人员编号,顾客编号)-〉货物编号,(人员编号,顾客编号)—>购买数量
(人员编号,顾客编号)-〉销售日期
顾客退货(人员编号,顾客编号,退货数量,退货日期)
(人员编号,顾客编号)—>退货数量,(人员编号,顾客编号)->退货日期
采购员进货(供应商编号,采购员编号,进货数量,进货日期)
(供应商编号,采购员编号)-〉进货数量,(供应商编号,采购员编号)—〉
进货日期
采购员退货(供应商编号,采购员编号,退货数量,退货日期)
2。2.2 关系模式规范化处理
以上关系模式中的各实体和联系之间不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF。
2。2。3 用户子模式建立
表2-1 关系外模式
序号
视图名称
作用
备注
1
price
查询各种商品的单价
2
StorageNow
查询目前仓库货物数量
3
Workweight
查询采购员的采购信息
4
worksale
查询售货员买了多少东西
2。2。4 关系模式逻辑结构定义
详细的逻辑结构定义见附录2
3. 数据库物理设计
3.1 物理设计阶段目标和任务
数据库的物理设计是为逻辑数据模型选取一个最合适应用需求的物理结构的过程,在这个阶段中需要完成的任务是:
(1) 确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;
(2) 对物理结构进行评价,评价的重点是时间和空间效率。
3。2数据存储方面
3。2.1 建立索引的原则
建立索引一般有以下三个原则:
(1) 如果一个或一组属性经常在查询条件中出现,则考虑在这个属性上建立索引。
(2) 如果一个经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引。
(3) 如果一个或一组属性经常在连接操作的连接条件中出现,则考虑在这个属性上建立索引。
表3.1 索引
所在表名
索引名称
索引类型
建立索引的项
供应商信息表
supplier_index
唯一
SupNumber
药品信息表
goods_index
唯一
Gnumber
客户信息表
customer_index
唯一
Cusnum
4.数据库实施与测试
主要包括数据库实施和测试两个部分。
4。1 数据库实施
4。1.1 数据库及数据库对象建立
主要包括:数据库、基本表、视图、索引、触发器以及存储过程;
对于具体的DDL语句以及相关代码,见附录3.
(1) 建立索引:
Create unique index supplie_index on Supplier(SupNumber);
Create unique index goods_index on Goods(Gnumber);
Create unique index customer_index on Customer(Cusnum);
(2)创建的视图如表4.1 所示
表4。1 视图
序号
视图名称
作用
备注
1
price
查询各种商品的单价
2
StorageNow
查询目前仓库货物数量
3
Workweight
查询采购员的采购信息
4
worksale
查询售货员买了多少东西
(3) 创建的存储过程如表 4。2所示:
表4。2 存储过程
编号
存储过程名称
作用
P1
SupPhone
输入一个供应商编号查询其电话号码
P2
goodsprice
查询哪些药品大于20
P3
Storagenow
输入仓库号查询其剩余货物量
P4
worker_Insert
向员工基本信息表插入一个元组
P5
Book_Insert
向订单基本信息表插入一个元组
P6
sale_Insert
向销售单基本信息表插入一个元组
P7
Return_Insert
向退货单基本信息表插入一个元组
P8
Person_delete
从员工基本信息表中删除一个元组
(4)创建的触发器如表 4.3 所示:
表4。3 触发器
编号
触发器名
作用
T1
book
当向订货单插入一条数据时修改仓库数据
T2
return
采购员退货触发器
T3
DeCustomer
删除顾客信息的同时删除其他表中关于此人的信息
4。1。2 数据入库
将10张表导入到数据库中
5.总结
十天数据库实习已经结束,实习期间有三门重要的考试,使我们一边应付考试,一边做实习,晚上还要上通宵自习,感觉真的很累,有很多问题感到很难解决,还好,这些问题在不断的思考中被解决了。
这次数据库实习让我学到了很多的东西,原来上课的时候总感到有些不足,因为自己不知道数据库到底在现实生活中有什么用处,因此感觉数据库与现实生活没有多大联系.通过这次数据库实习让我了解了数据库的重要性,知道了数据库在现实生活中到底怎么用.原来看课本上的数据库设计步骤总是不能理解,不知道应该怎么用,通过本次实习,使我深刻的理解了每一个步骤到底是干什么的,怎么干,应该得到哪些东西。
通过本次实习,我学习了很多数据库开发的技巧,例如如何画数据流程图,然后怎样从数据流程图中抽取出实体,如何画E-R图等等,这些东西都为自己开发数据库提供了很多技巧.这也让我明白了团里合作的重要性,当自己遇到不懂得地方时,通过与同学和老师的交流,使得我对一些问题得到了更加深刻的理解,使得我能够按时完成本次数据库实习.
非常感谢学院能够安排本次数据库实习,同时感谢老师细心,耐心详细的讲解,没有他们本次数据库实习不可能圆满结束.
6.附录
附录1 :
数据字典:
(1) 数据项:
表6-1
DI-1
SupNumber
供应商的编号
varchar(20)
DI-2
SupName
供应商的名称
varchar(20)
DI-3
SupAddress
供应商的地址
varchar(20)
DI—4
SupPhone
供应商的联系电话
varchar(20)
DI-5
Gnumber
药品的编号
varchar(20)
DI—6
Gname
药品名称
varchar(20)
DI-7
Gweight
药品重量
float
DI—8
Gtype
药品类别
varchar(20)
DI—9
Gprice
药品单价
float
DI-10
Gdate
药品生产日期
date
DI-11
Gstodate
药品保质期
int
DI—12
Cusname
顾客姓名
varchar(20)
DI—13
Cusnum
顾客编号
varchar(20)
DI-14
Cusage
顾客年龄
int
DI—15
CusPhone
顾客联系电话
varchar(20)
DI—16
CusAddress
顾客地址
varchar(20)
DI—17
Cusnumber
顾客邮编
varchar(20)
DI-18
Gthdate
顾客退货时间
date
DI-19
Gjhdate
顾客购药日期
date
DI-20
Jhdate
进货日期
date
DI—21
Thdate
退货日期
date
DI-22
StorageSno
仓库编号
int
DI-23
StorageNow
仓库目前库存
int
DI-24
StorageMin
仓库最小容量
int
DI—25
StorageMax
仓库最大容量
int
DI-26
StoragePho
仓库联系电话
varchar(20)
DI-27
mannum
人员编号
varchar(20)
DI—28
manname
人员名称
varchar(20)
DI-29
manPho
人员电话
varchar(20)
DI—30
manAdd
人员地址
varchar(20)
DI-31
mantype
人员类型
varchar(20)
(2) 数据结构
表6-2
数据结构编号
数据结构名
数据结构含义
组成
DS-1
Supplier
供应商
SupNumber SupName SupAddress SupPhone
DS—2
Customer
顾客
Cusname Cusage CusPhone CusAddress Cusnumber
DS—3
Goods
货物
Gnumber Gname Gtype Gweight Gprice Gdate
DS-4
Storage
仓库
StorageSno StorageMax StoragePho StorageAdm
DS—5
StorageManager
仓库管理员
Stonumber Stoname StoAddress StoPhone
DS—6
Delvebook
发货单
SupName Gnumber Gname Gtype Gweight Gprice Gdate
DS—7
Orderbook
订货单
SupNumber SupName Purmannum Gnumber Gweight Jhdate
DS—8
Returnbook1
退货单
SupNumber Purmannum Gnumber Gweight Thdate
DS-9
Salebook
顾客购药单
Salemannum Cusname Gnumber Gname Gtype Gweight Gprice Gjhdate
DS-10
Rerurnbook2
顾客退货单
Salemannum Cusname Gnumber Gname Gtype Gweight Gprice Gthdate
DS—11
Deposit
仓库库存
StorageSno Stonumber Gnumber Gweight
DS-12
Saleman
售货员
Salemannum Salemanname SalemanPho SalemanAdd
DS-13
Purchase
采购员
Purmannum Purmanname PurmanPho PurmanAdd
(3) 数据流
表6-3
数据流编号
数据流名称
简述
数据流来源
数据流去向
数据流组成
数据流量
高峰流量
F1
采购部订货单
药店向供应商提供药品需求单
采购部
供应商
商品编码+商品名称+进货量+商品进价
15次/月
30次/月
F2
采购发货单
供应商发出的收货单
供应商
检验货物的模块
商品编码+商品名称+进货量+商品进价
15次/月
30次/月
F3
库存清单
库存帐目共采购部参考的单据
库存账目
采购部差库模块
商品编码+商品名称+库存量
30次/月
60次/月
F4
采购部退货单
采购部向提供商发出的退货单
检验货物的模块
供应商
商品编码+商品名称+退货量
5次/月
10次/月
F5
顾客购物单
顾客购买药物是开的订单
销售人员
顾客
商品编号+商品名称+购买量+商品售价+购买日期
60次/月
100次/月
F6
顾客退货单
顾客将要退药的单据发给销售部
顾客退货模块
确认退货模块
商品编号+销售人员编号+购买量+退货日期
10次/月
20次/月
F7
不合格单
采购部检查到的不合格药品的单子
检验货物的模块
退货模块
药品编号+药品重量+退货日期
5次/月
10次/月
F8
合格单
检验货物模块填写的合格药品的单据
检验货物的模块
入库管理模块
药品编号+药品名称
10次/月
20次/月
F9
入库单
库管理员填写的要入库药品的清单
库管员
仓库
药品编号+药品数量
15次/月
30次/月
(4) 处理逻辑
表6-4
处理逻辑编号
处理逻辑名称
简述
输入的数据流
处理
输出的数据流
处理频率
P1.1
采购查库
采购部采购依据
F1库存清单
根据清单确认采购商品
F2采购订货单
30次/月
P1。2
验货
采购部检验来货
F3采购发货单
根据发货单检验商品
F4不合格单,F6合格单
15次/月
P1。3
采购退货
检验不合格退去
F4不合格单
确认退货
F5采购退货单
10次/月
P1。4
入库
检验合格入库
F6检验合格单
登记库存帐目
F7入库单
15次/月
P2。1
销售
销售部向顾客卖货
F9顾客订单
导购提货
F10销售单
1000次/月
附录2
基本表的建立:
货物 表6—5
属性名
类型
取值范围
是否为主键
是否可为空
Gnumber
varchar(20)
Y
N
Gname
varchar(20)
N
N
Gweight
Float
>0
N
Y
Gtype
varchar(20)
N
Y
Gprice
Float
〉0
N
Y
Gdate
Date
N
Y
Gstodate
Int
〉0
N
Y
供应商 表6—6
属性名
类型
取值范围
是否为主键
是否可为空
SupNumber
varchar(20)
Y
N
SupName
varchar(20)
N
Y
SupAddress
varchar(20)
N
Y
SupPhone
varchar(20)
N
Y
仓库 表6-7
属性名
类型
取值范围
是否为主键
是否可为空
StorageSno
Int
>0
Y
N
StorageMin
Int
>0 and 〈1000
N
Y
StorageNow
Int
>=0and〈10000
N
Y
StorageMax
Int
>0
N
Y
Mannum
Varchar(20)
N
N
Jhdate
Date
N
N
工作人员 表6-8
属性名
类型
取值范围
是否为主键
是否可为空
mannum
varchar(20)
Y
N
manname
varchar(20)
N
N
manPho
varchar(20)
N
Y
manAdd
varchar(20)
N
Y
mantype
varchar(20)
N
N
顾客 表6—9
属性名
类型
取值范围
是否为主键
是否可为空
Cusname
varchar(20)
N
N
Cusage
Int
>0
N
Y
Cusnum
Varchar(20)
Y
N
CusPhone
varchar(20)
N
Y
CusAddress
varchar(20)
N
Y
Cusnumber
varchar(20)
N
Y
仓库货物 表6—10
属性名
类型
取值范围
是否为主键
是否可为空
StorageSno
Int
Y
N
Gnumber
varchar(20)
Y
N
StorageNow
Int
〉0
N
N
订货单 表6—11
属性名
类型
取值范围
是否为主键
是否可为空
SupNumber
varchar(20)
Y
N
mannum
varchar(20)
Y
N
Gnumber
varchar(20)
Y
N
Gweight
Float
>0
N
Y
Gprice
Float
〉0
N
Y
Jhdate
Date
N
Y
退货单 表6-12
属性名
类型
取值范围
是否为主键
是否可为空
SupNumber
varchar(20)
Y
N
mannum
varchar(20)
Y
N
Gnumber
varchar(20)
Y
N
Gweight
Float
〉0
N
Y
Thdate
Date
N
Y
销售员售货 表6—13
属性名
类型
取值范围
是否为主键
是否可为空
mannum
varchar(20)
Y
N
Gnumber
varchar(20)
Y
N
Cusnum
varchar(20)
Y
N
Gweight
Float
>0
N
Y
Gprice
Float
>0
N
Y
Gjhdate
Date
N
Y
顾客退货 表6—14
属性名
类型
取值范围
是否为主键
是否可为空
mannum
varchar(20)
Y
N
Gnumber
varchar(20)
Y
N
Cusnum
varchar(20)
Y
N
Gweight
Float
N
Y
Gthdate
Date
N
Y
2.SQL语言实现
创建货物表
create table Goods
(
Gnumber varchar(20) primary key,
Gname varchar(20) not null,
Gweight float check (Gweight>0),
Gtype varchar(20),
Gprice float check (Gprice〉0),
Gdate date,
Gstodate int check(Gstodate〉0)
)
创建供应商表
create table Supplier
(
SupNumber varchar(20) primary key,
SupName varchar(20) not null,
SupAddress varchar(20),
SupPhone varchar(20)
)
创建仓库存储表
create table Storageage
(
StorageSno int primary key,
StorageMin int check(storagemin〉0),
StorageNow int check(storagenow>0 and storagenow<=1000),
StorageMax int check(storagemax>0 and storagemax〈=1000),
mannum varchar(20) references Worker(mannum),
Jhdate date
)
创建工人表
create table Worker
(
mannum varchar(20) primary key,
manname varchar(20) not null,
manPho varchar(20),
manAdd varchar(20),
mantype varchar(20)
)
创建顾客表
create table Customer
(
Cusnum varchar(20) primary key,
Cusname varchar(20) not null,
Cusage int,
CusPhone varchar(20),
CusAddress varchar(20),
Cusnumber varchar(20)
)
仓库货物
create table Manger
(
StorageSno int primary key ,
Gnumber varchar(20) references goods(gnumber),
StorageNow int check(StorageNow>0)
)
订货单
create table Orderbook
(SupNumber varchar(20),
mannum varchar(20),
Gnumber varchar(20),
Gweight float check (Gweight〉0),
Gprice float check (Gprice>0),
Jhdate date,
primary key (SupNumber,mannum,Gnumber),
foreign key (SupNumber) references Supplier(SupNumber),
foreign key (mannum) references Worker(mannum),
foreign key (Gnumber) references Goods(Gnumber)
)
退货单
create table Returnbook1
(
SupNumber varchar(20),
mannum varchar(20),
Gnumber varchar(20),
Gweight float check(Gweight〉0),
Thdate date,
primary key (SupNumber,mannum,Gnumber),
foreign key (SupNumber) references Supplier(SupNumber),
foreign key (mannum) references Worker(mannum),
foreign key (Gnumber) references Goods(Gnumber)
)
销售员售货
create table Salebook
(
mannum varchar(20),
Gnumber varchar(20),
Cusnum varchar(20),
Gweight float check(Gweight〉0),
Gprice float check(Gprice〉0),
Gjhdate date,
primary key(mannum,Gnumber,Cusnum),
foreign key (mannum) references Worker(mannum),
foreign key (Gnumber) references Goods(Gnumber),
foreign key (Cusnum) references Customer(Cusnum)
)
顾客退货
create table Rerurnbook2
(
mannum varchar(20),
Gnumber varchar(20),
Cusnum varchar(20),
Gweight float check(Gweight〉0),
Gthdate date,
primary key(mannum,Gnumber,Cusnum),
foreign key (mannum) references Worker(mannum),
foreign key (Gnumber) references Goods(Gnumber),
foreign key (Cusnum) references Customer(Cusnum)
)
附录3
一.数据库视图
1. 创建各种商品的单价的视图
create view price
as
select Gname,Gprice
from goods
select gname,gprice
from price
2. 查询目前仓库货物数量的试图
create view StorageNow
as
select StorageSno,StorageNow
from manger
select StorageSno,StorageNow
from storagenow
3. 查询采购员的采购信息
create view Workweight
as
select mannum,Gweight
from orderbook
select *
from workweight
4。查询售货员卖了多少东西
二. 存储过程
1.输入一个供应商编号查询其电话号码
create or replace procedure SupPhone(v_supsno in Supplier。Supnumber%type,v_supphone out Supplier。Supphone%type)
is
begin
select supphone
into v_supphone
from Supplier
where v_supsno=supnumber;
end;
测试
declare
a varchar2(10):=’4’;
b varchar2(20);
begin
supphone(a,b);
dbms_output.put_line(b);
end;
结果输出
2. 查询哪些药品价格大于20(用游标)
create or replace procedure goodsprice
is
v_Gname goods。gname%type; v_Gprice Goods。Gprice%type;
cursor c1 is select Gname, Gprice from Goods
where Gweight〉20;
begin
open c1;
loop
fetch c1 into v_Gname,v_Gprice;
exit when c1%notfound;
dbms_output.put_line(v_Gname||'-——'||v_Gprice);
end loop;
close c1;
end;
检验:
begin goodsprice;
end;
输出结果
3.输入仓库号查询其剩余货物量
create or replace procedure Storagenow1(v_storagesno in Storageage.Storagesno%type,v_storagenow out Storageage。Storagenow%type)
is
begin
select Storagenow
into v_storagenow
From manger
where v_storages
展开阅读全文