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. ie8兼容圆角

    ie8兼容圆角 PIE.HTC下载地址:http://css3pie.com/ 兼容ie8 代码如下: <!DOCTYPE html> <html> <head> ...

  2. python虚拟环境介绍与安装

    视频链接:  http://edu.tv.sohu.com/play/sid/8fefb999e05c5b01 1.为什么安装虚拟环境? 因为python框架更新迭代太快,有时电脑上存在一个框架多个版 ...

  3. ABAP调试

    ABAP 开发系列(02): ABAP Development Workbench 介绍(下)- ABAP 调试器 8. Debugger – ABAP 调试器 开发程序,调试器是必不可少的工具,而A ...

  4. Atlas安装配置

    准备环境 192.168.1.1(Altas) 192.168.1.2(MySQL主) 192.168.1.3(MySQL从) 官方链接:https://github.com/Qihoo360/Atl ...

  5. 快速搭建CentOS+ASP.NET Core环境支持WebSocket

    环境:CentOS 7.x,.net core 2 以下.net core 2安装操作为官方方法.如果你使用Docker,那么更简单了,只需要docker pull microsoft/dotnet就 ...

  6. Vue解析一之挂载全局变量与方法

    1.在mian.js里面进行Vue对象的原型连的挂载Vue.prototype.$ajax = Ajax; 2.使用Mixin: VuVue.mixin({ data(){ return { Host ...

  7. SpringBoot 自定义Banner

    在2016年的最后一天,借用Spring Boot的Banner向各位程序猿同仁们问候一声:Happy New Year. 接下来我们就来介绍一下这个轻松愉快的自定义banner功能.实现的方式非常简 ...

  8. ava集合---ArrayList的实现原理

    一.ArrayList概述 ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存 ArrayList不是线程安全的,只能用在单线程环境下,多 ...

  9. java.lang.Object学习总结

  10. 实现Windows程序的更新

    实现Windows程序的更新 一.使用枚举避免不合理的赋值 1.使用枚举的好处: 使用常量类中Student类中加入一个特别属性,StudentGender,而且这个属性只能接受两个有效值," ...