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

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
时间: 2024-10-13 15:53:45

数据库存储系统应用,超市小票系统的相关文章

zabbix企业应用之从数据库提取centos 6.2系统在线天数

历史原因造成公司有很多centos 6.2的系统,从某天6.2系统突然自动重启,排查半天发现是6.2的内核bug(超过208天后可能自动重启,可以参考https://access.redhat.com/site/solutions/68466),所以为了不影响业务,在发现6.2系统在线超过180天后就安排重启工作,下面是介绍如何使用zabbix来从数据库里获取6.2系统服务器的在线天数,然后通知业务重启,避免意外重启导致业务受到影响. 1.脚本内容 #!/bin/bash #script nam

SQL 存储过程 超市小票打印

create database chaoshils--创建一个数据库 go use chaoshils--使用这个数据库 go create table gongying--创建一个供应商的表格 ( gcode int primary key identity(1001,1),--供应商编号,主键 gname varchar(20),--名称 gsdh varchar(20),--电话 gsdz varchar(20)--地址 ) --向供应商表格中添加数据 insert into gongyi

安卓项目-利用Sqlite数据库,开发新闻发布系统

本教程致力于程序员可以快速的学习安卓移动端手机开发. 适合于已经习得一种编程语言的同仁. 更多志同道合,想要学习更多编程技术的大神们. 小弟不才,麻烦关注一下我的今日头条号-做全栈攻城狮. 本文章是基于上篇文章基础之上进行深入学习的.程序员带你学习安卓开发-XML文档的创建与解析 Sqlite数据库: Sqlite数据库是在安卓中使用较广泛的数据库.其为简单.轻巧的Sql类文件型数据库.因以简单的文本形式保存,所以安全性不是很高.只要拿到sqlite数据库文件就可以得到数据.所以这就决定了sql

用python3.x与mysql数据库构建简单的爬虫系统(转)

这是在博客园的第一篇文章,由于本人还是一个编程菜鸟,也写不出那些高大上的牛逼文章,这篇文章就是对自己这段时间学习python的一个总结吧. 众所周知python是一门对初学编程的人相当友好的编程语言,就像本屌丝一样,一学就对它产生好感了!当然,想要精通它还有很多东西需要学习.那废话不多说了,下面我就来说一下如何用python3.x与mysql数据库构建一个简单的爬虫系统(其实就是把从网页上爬下来的内容存储到mysql数据库中). 首先就是搭建环境了,这里就简介绍一下我的环境吧.本机的操作系统是w

winfrom 导入Excel表到access数据库(来自小抽奖系统)

网上有很多这种方法,本人只是针对自己的系统来实现的 //导入excel表 private void ImportTSMenu_Click(object sender, EventArgs e) { OpenFileDialog openFD = new OpenFileDialog(); openFD.Filter = "Excel文件|*.xls"; if (openFD.ShowDialog(this.Owner) == DialogResult.OK) { string strF

数据库NewSQL之谷歌F1系统

介绍 谷歌对数据系统性能有极高的要求,MySQL这样的系统都很难令其满意,所以谷歌设计F1数据库,其目标是让其具备高度的可扩展性和高度稳定性,除了必备的SQL语言支持外,F1还提供ad hoc类型查询. 基本构架 用户通过客户端语料库(client library)和F1交互.用户发出的请求首先送到某个F1服务器,F1服务器负责之后的任务分配和数据处理. 为了减少处理请求造成的延时(latency),F1的客户端和与之直接相连的负载均衡器会首先向最近的F1服务器相连,但是如果附近的F1服务器非常

MySQL数据库系列之Centos6.5系统下RPM包安装MySQL5.6

查看操作系统相关信息. [[email protected]_db1 ~]# cat /etc/issue CentOS release 6.5 (Final) Kernel \r on an \m [[email protected]_db1 ~]# uname -a Linux bj_db1 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux 2.创建需要下载rpm软

数据库设计:用户登录系统数据库表设计

用户登录系统数据库表设计 最近看了看公司后台用户登录系统的设计, 比较混乱, 主要还是因为URS和Oauth以及URS第三方这三个登录形式各不相同导致的. 下面着重介绍一下涉及到第三方登录中需要注意的问题 在一个新项目中, 如果是要建立自己的登录体系的话, 那么直接创建一个Users表,包含username和password两列,这样,就可以实现登录了: id | username | password | name等其他字段 ----+----------+----------+-------

【JS】通过JS实现超市小票打印功能——ActiveX控件

应客户的需求= = ,要在网页端实现打印小票的功能 先来一张打印出的小票效果图(合计明显不对,因为有修改订单功能,请各位忽略) 用什么方法实现呢:我想应该是有三种吧 1.用第三方的浏览器控件(这个好似比较方便,我的老师也是这样建议我)向大家推荐一个 Lodop打印控件 2.用CSS写好模板,然后直接用页面打印的方法(应该是这样吧) (以上两种还没有尝试,这两天陆续尝试) 3.用微软自己的ActiveX控件(ActiveX控件可以实现调用本地的文件等操作(之前试过调用cmd,实现shutdown