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;
    

      

  • 相关阅读:
    没想到吧?这货比 open 更适合读取文件
    卸载 PyCharm!这才是 Python 小白的最理想的 IDE
    git 会保留所有的提交吗?不会!
    C# 在构造函数内调用虚方法
    【转】第一个汇编器是怎么实现的
    SQL Server查询数据库所有表名与表说明
    Vue实现节流,防止重复提交
    mysql 查询json数组(一)
    VScode怎么在代码折叠后,插入新的内容
    Vue 通过调用百度API获取地理位置-经度纬度省份城市
  • 原文地址:https://www.cnblogs.com/tangjiang-code/p/7662850.html
Copyright © 2011-2022 走看看