• 数据库存储系统应用,超市小票系统


    create database chaoshixiaopiao4
    go
    use chaoshixiaopiao4
    go
    
    --创建供应商的表格
    create table gongying
    (
    gno   int primary key identity(1001,1) not null,--供应商编号
    gname varchar(40),              --供应商名称
    gdizhi varchar(40)              --供应商地址
    )
    --插入供应商内容
    insert into gongying values('可口可乐公司','美国')
    insert into gongying values('绿箭集团','天津')
    insert into gongying values('康师傅集团','北京')
    insert into gongying values('达利园集团','北京')
    insert into gongying values('创达公司','深圳')
    
    --创建超市货架表格
    create table huojia
    (
    hno    int primary key identity(10001,1) not null,--商品编号
    hname  varchar(20),                               --商品名称
    hjin    decimal(18,2),                            --商品进价                           
    hshou   decimal(18,2),                            --商品售价
    hshu   int,                                       --商品数量
    hgno   int,                                       --商品供应商编号
    )
    insert into huojia values('可口可乐',2.5,3,20,1001)
    insert into huojia values('零度',2,3,20,1001)
    insert into huojia values('绿箭口香糖',1,1.5,20,1002)
    insert into huojia values('康师傅方便面',3,3.5,20,1003)
    insert into huojia values('达利园小面包',5,5.5,20,1004)
    insert into huojia values('薯片',3,3.5,20,1005)
    
    --创建小票的表格
    create table xiaopiao
    (
    xno  int primary key identity(1,1),
    xhno  int,
    xname varchar(20),
    xhjia decimal(18,2),
    xshu  int,
    xzong decimal(18,2)
    )
    
    create proc piao1
    @shumu int,
    @huohao int
    as
    begin
        declare 
        @count  int,
        @huoshu int,
        @sjia  decimal(18,2),
        @he    decimal(18,2),
        @huoname varchar(20),
        @ci int
    
      
        select @huoshu=hshu from huojia where hno=@huohao;
        select @count=COUNT(*) from huojia where hno=@huohao; 
        if @count>0   
           begin
               set @ci=@ci+1
               if @shumu>=0
                  begin
                  update huojia set hshu=(@huoshu+@shumu) where hno=@huohao
                  
                  select @huoname=hname from huojia where hno=@huohao
                  select @sjia=hjin from huojia where hno=@huohao
                  set @he=@sjia*@shumu
                  insert into xiaopiao values(@huohao,@huoname,@sjia,@shumu,@he)
                  select @ci=COUNT(*) from xiaopiao
                  select xno as 小票号,xhno as 商品编号,xname as 商品名称,xhjia as 进价,xshu as 数量,xzong as 总价 from xiaopiao
                  where xno=@ci
                  end
               else
                  begin
                  set @shumu = -@shumu
                  if  @shumu<=@huoshu
                    begin
                    update huojia set hshu=@huoshu-@shumu where hno=@huohao
                    
                    select @huoname=hname from huojia where hno=@huohao
                    select @sjia=hshou from huojia where hno=@huohao
                    set @he=@sjia*@shumu
                    insert into xiaopiao values(@huohao,@huoname,@sjia,@shumu,@he)
                    select @ci=COUNT(*) from xiaopiao
                    select xno as 小票号,xhno as 商品编号,xname as 商品名称,xhjia as 单价,xshu as 数量,xzong as 总价 from xiaopiao
                    where xno=@ci
                    end
                  else
                    begin
                    
                    select '此商品数量不足!'
                    select hno as 商品编号,hname as 商品名称,hshou as 单价,hshu as 数量 from huojia 
                    end
                  end
           end
        else
           print '超市无此商品!'
      
    
    end
    go
    
    exec piao1  -2,10003
    
    exec piao1  -2,10002
    exec piao1  -2,10001
    
    select * from xiaopiao
  • 相关阅读:
    【收集】13款Linux系统有
    【收集】13款Linux系统有
    献给母亲节的沙画,致此生最爱——母亲!
    ACM2136
    WTF is The BlockChain?
    Java 多线程(上)
    Kubernetes集群部署DNS插件
    Vue组件
    写在APIO2016之前
    5G-NR物理信道与调制-下行链路v1.1.0
  • 原文地址:https://www.cnblogs.com/fengsantianya/p/5592684.html
Copyright © 2020-2023  润新知