zoukankan      html  css  js  c++  java
  • 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;
    

      

  • 相关阅读:
    spring在加Transactional的方法中使用redis取值为空的问题
    IDEA 调试jar文件
    搭建maven私有中央仓库
    F2BPM的流程仿真
    F2BPM流程中心RESTfull解决方案及示例
    F2BPM中关于工作流引擎驳回设计
    “员工请假”流程及在线表单开发示例
    在线表单字段做为节点处理人
    F2工作流引擎之-纯JS Web在线可拖拽的流程设计器(八)
    【原创】工作流引擎运转模型之--终极利器退回时回收分支算法
  • 原文地址:https://www.cnblogs.com/tangjiang-code/p/7662850.html
Copyright © 2011-2022 走看看