Oracle银行存取钱系统
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银行存取钱系统的更多相关文章
- 腾讯云分布式数据库TDSQL在银行传统核心系统中的应用实践
本文是腾讯云TDSQL首席架构师张文在腾讯云Techo开发者大会现场的演讲实录,演讲主题是<TDSQL在银行传统核心系统中的应用实践>. 我是TDSQL架构师张文,同时也是TDSQL的开发 ...
- 编写Java程序_银行终端服务系统
目录 一.General description 总体概述 二.About the Project 项目介绍 三.Soft function 软件功能 四.UI Model Use Case Diag ...
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.1.系统界面报错Gnome
1.错误信息:登录系统后,屏幕弹出几个错误对话框,无菜单.无按钮 GConf error: Failed to contact configuration server; some possible ...
- Oracle VM VirtualBox 随系统自动启动虚拟机的方法
Oracle VM VirtualBox 随系统自动开启虚拟机的方法 @ECHO OFFcd..cd E:cd..cd E:\VirtualBox\start VirtualBox.exe -star ...
- 【百度地图API】建立全国银行位置查询系统(五)——如何更改百度地图的信息窗口内容?
原文:[百度地图API]建立全国银行位置查询系统(五)--如何更改百度地图的信息窗口内容? 摘要: 酷讯.搜房.去哪儿网等大型房产.旅游酒店网站,用的是百度的数据库,却显示了自定义的信息窗口内容,这是 ...
- 【百度地图API】建立全国银行位置查询系统(四)——如何利用百度地图的数据生成自己的标注
原文:[百度地图API]建立全国银行位置查询系统(四)--如何利用百度地图的数据生成自己的标注 摘要: 上一章留个悬念,"如果自己没有地理坐标的数据库,应该怎样制作银行的分布地图呢?&quo ...
- 【百度地图API】建立全国银行位置查询系统(三)——如何在地图上添加银行标注
原文:[百度地图API]建立全国银行位置查询系统(三)--如何在地图上添加银行标注 <摘要>你将在第三章中学会以下知识: 如何在地图上添加带银行logo的标注?(你也可以换成商场logo, ...
- 【百度地图API】建立全国银行位置查询系统(二)——怎样为地图添加控件
原文:[百度地图API]建立全国银行位置查询系统(二)--怎样为地图添加控件 <摘要>你将在第二章中学会以下知识: 使用手写代码的利器——notepad++: 如何为地图添加控件——鱼骨. ...
- 【百度地图API】建立全国银行位置查询系统(一)——如何创建地图
原文:[百度地图API]建立全国银行位置查询系统(一)--如何创建地图 <摘要>你将在第一章中学会以下知识: 如何创建一个网页文件 怎样利用百度地图API建立一张2D地图,以及3D地图 如 ...
随机推荐
- CodeFirst学习笔记
一.概要 本文主要是学习CodeFirst思想.技术上的实现是C#(.net framework4.6.1) 控制台 + PostgreSQL 10.2.1 代码:https://pan.baidu. ...
- LVS-NAT模式的配置详解
由于实验室拟态存储的项目需要通过NAT模式来映射NFS服务器已实现负载均衡的目的,通过调研了多种负载均衡机制,笔者最终选择了LVS的NAT模式来实现需求,接下来通过博客来记录一下LVS-NAT模式的配 ...
- 2D变形transform的translate和rotate
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 在 WinForm 中 如何实现 加载等待功能
1,需要一个动态的londing文件:在项目中我们新建一个文件夹来存放它: 2,在需要出现londing状态的窗体上加上一个Panel: 黄色区域是Panel,灰色的是需要被加载的区域.当需要触发lo ...
- java 流详解
流在Java中是指计算中流动的缓冲区. 从外部设备流向中央处理器的数据流成为“输入流”,反之成为“输出流”. 字符流和字节流的主要区别: 1.字节流读取的时候,读到一个字节就返回一个字节:字符流使用了 ...
- 面向服务的体系架构 SOA(二) --- 服务的路由和负载均衡
2. 服务的路由和负载均衡 1.2.1 服务化的演变 SOA设计思想:分布式应用架构体系对于业务逻辑复用的需求十分强烈,上层业务都想借用已有的底层服务来快速搭建更多.更丰富的应用,降低新业务开展的人力 ...
- 不能为虚拟电脑 ubuntu 打开一个新任务.
使用virtualbox报错: 不能为虚拟电脑 ubuntu3 打开一个新任务. The virtual machine 'ubuntu3' has terminated unexpectedly d ...
- node 自动重启 nodemon
最近在玩node,可是每次修改完js,总要重启下服务,还要杀掉端口,感觉可麻烦了,最近发现nodemon这个东西很好,直接解决了我的烦恼. npm install -g nodemon 以后直接启动n ...
- 支持Touch ID!EOS 项目进展速报
Daniel Larimer 周六在 Steemit 上向大家介绍了 EOS 项目的最新进展,惊喜不少. 原文链接 : https://steemit.com/eosio/@dan/eos-io-de ...
- 笔记:Maven 生命周期与命令行详解
Maven 拥有三套相互独立的生命周期,分别是 clean.default和site,clean 生命周期的目的是清理项目,default 生命周期的目的是构建项目,而site生命周期的目的是建立项目 ...