Oracle银行存取钱系统

/*
银行系统
要求:
1、创建一个用户信息表(userinfo)、一个交易信息表(deal)
2、用户信息表字段:用户编号、用户名称、密码、余额
交易信息表字段:编号、交易金额、交易类型、用户编号
3、建立两个表之间的关系
4、所有编号采用序列添加,序列名称:userinfo_sq,deal_sq
5、添加4个用户信息,内容自定义
6、通过PLSQL编程实现控制台存钱和取钱操作,要求控制台提示操作方式,如: 1、取钱 2、存钱、3查询余额
注意:存取钱操作可以多次执行操作。
*/
--创建用户信息表、交易信息表
create table userinfo(
u_id number, --用户编号
u_name varchar2(20), --用户名称
u_pwd varchar2(20),--密码
u_money number --余额
);
create table deal(
d_id number, --编号
d_money number, --交易金额
d_type varchar2(20),
u_id number
);
--添加关系
alter table USERINFO
add constraint U_PK primary key (U_ID)
alter table DEAL
add constraint U_D_FK foreign key (U_ID)
references USERINFO (U_ID); --添加序列
create sequence USERINFO_SQ
minvalue 1
maxvalue 9999999999999999999999999999
start with 1
increment by 1
cache 20; create sequence deal_SQ
minvalue 1
maxvalue 9999999999999999999999999999
start with 1
increment by 1
cache 20; --添加用户信息
insert into userinfo(u_id,u_name,u_pwd,u_money) values(userinfo_sq.nextval,'旺财','123',100);
insert into userinfo(u_id,u_name,u_pwd,u_money) values(userinfo_sq.nextval,'旺旺','123',1);
insert into userinfo(u_id,u_name,u_pwd,u_money) values(userinfo_sq.nextval,'阿旺','123',99);
insert into userinfo(u_id,u_name,u_pwd,u_money) values(userinfo_sq.nextval,'小旺','123',100); select *from userinfo;
--PLSQL编程 declare
--定义一个变量存放用户操作
input number;
money number;
usid number;
begin
usid:='&当前用户ID';
input:='&1取钱、2存钱、3查询余额';
--判断操作类型
if input=1 then
money:='&取钱金额';
update userinfo set u_money=u_money-money where u_id=usid;
--将交易信息保存到交易信息表中
insert into deal(d_id,d_money,d_type,u_id)values(deal_sq.nextval,money,'支取',usid);
end if;
if input=2 then
money:='&存钱金额';
update userinfo set u_money=u_money+money where u_id=usid;
insert into deal(d_id,d_money,d_type,u_id)values(deal_sq.nextval,money,'存储',usid);
end if;
if input=3 then
select u_money into money from userinfo where u_id=usid;
dbms_output.put_line('当前用户余额为:'||money);
end if;
end;

  

Oracle银行存取钱系统的更多相关文章

  1. 腾讯云分布式数据库TDSQL在银行传统核心系统中的应用实践

    本文是腾讯云TDSQL首席架构师张文在腾讯云Techo开发者大会现场的演讲实录,演讲主题是<TDSQL在银行传统核心系统中的应用实践>. 我是TDSQL架构师张文,同时也是TDSQL的开发 ...

  2. 编写Java程序_银行终端服务系统

    目录 一.General description 总体概述 二.About the Project 项目介绍 三.Soft function 软件功能 四.UI Model Use Case Diag ...

  3. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.1.系统界面报错Gnome

    1.错误信息:登录系统后,屏幕弹出几个错误对话框,无菜单.无按钮 GConf error: Failed to contact configuration server; some possible ...

  4. Oracle VM VirtualBox 随系统自动启动虚拟机的方法

    Oracle VM VirtualBox 随系统自动开启虚拟机的方法 @ECHO OFFcd..cd E:cd..cd E:\VirtualBox\start VirtualBox.exe -star ...

  5. 【百度地图API】建立全国银行位置查询系统(五)——如何更改百度地图的信息窗口内容?

    原文:[百度地图API]建立全国银行位置查询系统(五)--如何更改百度地图的信息窗口内容? 摘要: 酷讯.搜房.去哪儿网等大型房产.旅游酒店网站,用的是百度的数据库,却显示了自定义的信息窗口内容,这是 ...

  6. 【百度地图API】建立全国银行位置查询系统(四)——如何利用百度地图的数据生成自己的标注

    原文:[百度地图API]建立全国银行位置查询系统(四)--如何利用百度地图的数据生成自己的标注 摘要: 上一章留个悬念,"如果自己没有地理坐标的数据库,应该怎样制作银行的分布地图呢?&quo ...

  7. 【百度地图API】建立全国银行位置查询系统(三)——如何在地图上添加银行标注

    原文:[百度地图API]建立全国银行位置查询系统(三)--如何在地图上添加银行标注 <摘要>你将在第三章中学会以下知识: 如何在地图上添加带银行logo的标注?(你也可以换成商场logo, ...

  8. 【百度地图API】建立全国银行位置查询系统(二)——怎样为地图添加控件

    原文:[百度地图API]建立全国银行位置查询系统(二)--怎样为地图添加控件 <摘要>你将在第二章中学会以下知识: 使用手写代码的利器——notepad++: 如何为地图添加控件——鱼骨. ...

  9. 【百度地图API】建立全国银行位置查询系统(一)——如何创建地图

    原文:[百度地图API]建立全国银行位置查询系统(一)--如何创建地图 <摘要>你将在第一章中学会以下知识: 如何创建一个网页文件 怎样利用百度地图API建立一张2D地图,以及3D地图 如 ...

随机推荐

  1. CodeFirst学习笔记

    一.概要 本文主要是学习CodeFirst思想.技术上的实现是C#(.net framework4.6.1) 控制台 + PostgreSQL 10.2.1 代码:https://pan.baidu. ...

  2. LVS-NAT模式的配置详解

    由于实验室拟态存储的项目需要通过NAT模式来映射NFS服务器已实现负载均衡的目的,通过调研了多种负载均衡机制,笔者最终选择了LVS的NAT模式来实现需求,接下来通过博客来记录一下LVS-NAT模式的配 ...

  3. 2D变形transform的translate和rotate

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. 在 WinForm 中 如何实现 加载等待功能

    1,需要一个动态的londing文件:在项目中我们新建一个文件夹来存放它: 2,在需要出现londing状态的窗体上加上一个Panel: 黄色区域是Panel,灰色的是需要被加载的区域.当需要触发lo ...

  5. java 流详解

    流在Java中是指计算中流动的缓冲区. 从外部设备流向中央处理器的数据流成为“输入流”,反之成为“输出流”. 字符流和字节流的主要区别: 1.字节流读取的时候,读到一个字节就返回一个字节:字符流使用了 ...

  6. 面向服务的体系架构 SOA(二) --- 服务的路由和负载均衡

    2. 服务的路由和负载均衡 1.2.1 服务化的演变 SOA设计思想:分布式应用架构体系对于业务逻辑复用的需求十分强烈,上层业务都想借用已有的底层服务来快速搭建更多.更丰富的应用,降低新业务开展的人力 ...

  7. 不能为虚拟电脑 ubuntu 打开一个新任务.

    使用virtualbox报错: 不能为虚拟电脑 ubuntu3 打开一个新任务. The virtual machine 'ubuntu3' has terminated unexpectedly d ...

  8. node 自动重启 nodemon

    最近在玩node,可是每次修改完js,总要重启下服务,还要杀掉端口,感觉可麻烦了,最近发现nodemon这个东西很好,直接解决了我的烦恼. npm install -g nodemon 以后直接启动n ...

  9. 支持Touch ID!EOS 项目进展速报

    Daniel Larimer 周六在 Steemit 上向大家介绍了 EOS 项目的最新进展,惊喜不少. 原文链接 : https://steemit.com/eosio/@dan/eos-io-de ...

  10. 笔记:Maven 生命周期与命令行详解

    Maven 拥有三套相互独立的生命周期,分别是 clean.default和site,clean 生命周期的目的是清理项目,default 生命周期的目的是构建项目,而site生命周期的目的是建立项目 ...