下载此文档

SQL总复习练习.doc


文档分类:IT计算机 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
练习 1 SQL 案例活期存款中,“储户”通过“存取款单”和“储蓄所”发生联系。假定: “储户”包括:帐号,姓名,电话,地址,存款额; “储蓄所”包括:储蓄所编号,名称,电话,地址。假定一个储户可以在不同的储蓄所存取款。 1. E-R 图存取款单储蓄所编号帐号存取日期存取标志存取金额储蓄所储蓄所编号名称电话地址帐号姓名电话存款额地址储户 2 .创建一个数据库名为 SAVE 3 .按照下述创建相应的表储户表字段名称字段类型描述帐号 int 主键姓名 C har(10) 电话 int 地址 C har(10) 存款额 money 储蓄所字段名称字段类型描述储蓄所编号 int 主键姓名 C har(10) 电话 int 地址 C har(10) 存取款单( 帐号, 储蓄所编号, 存取日期为组合主键) 字段名称字段类型描述帐号 intN ot null( 与储户表中的帐号字段关联) 储蓄所编号 intN ot null( 与储蓄所表中的储蓄所编号字段关联) 存取日期 datetime N ot null 存取标志 bitN ot null 存取金额 money 说明: 一个储户要存钱, 实际上就是向存取款单中插入数据。银行的商业规则规定, 一个人必须开了帐户才能存取钱,即“储户”表中存在要存取款人的帐号。并且这个人必须到储蓄所去存取钱,即你要插入到“存取款单”表的储蓄所编号列必须在“储蓄所”中存在。 4 .创建一个触发器 TR1 完成当向“存取款单”表中插入数据时,如果存取标志=1 则应该更改储户表让存款额加上存取金额,如果存取标志=0 则应该更改储户表让存款额减去存取金额,如果余额不足显示余额不足错误, 交易取消。 5 .创建一个视图显示用户帐号、用户姓名、存款额和所在银行。 6. 创建存储过程 INPUT _PROC , OUTPUT_PROC 分别用于存款和取款, 即向存取款单中插入数据答案部分-- 创建触发器 create trigger tr1 on 存取款单 for insert as declare ***@bz int, ***@money money, ***@zh int select ***@bz= 存取标志,***@money= 存取金额,***@zh= 帐号 from inserted if ***@bz=0 begin update 储户 set 存款额= 存款额-***@money where 帐号=***@zh declare ***@sy money select ***@sy= 存款额 from 储户 where 帐号=***@zh if ***@sy<0 begin raiserror(' 余额不足',16,1) rollback end end if ***@bz=1 begin update 储户 set 存款额= 存款额+***@money where 帐号=***@zh end -- 创建视图 create view v1 as select 储户. 帐号, 姓名, 存款额, 名称 as 储蓄所名称 from 储户 inner join 存取款单 on 储户. 帐号= 存取款单. 帐号 inner join 储蓄所 on 储蓄所. 储蓄所编号= 存取款单. 储蓄所编号-- 创建存储过程 create proc out_proc ***@zh int, ***@cxsbh int, ***@ccje money as inse

SQL总复习练习 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数9
  • 收藏数0 收藏
  • 顶次数0
  • 上传人luyinyzha
  • 文件大小0 KB
  • 时间2016-07-12
最近更新