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 gongying values('可口可乐公司','232323','山东青岛')
insert into gongying values('花生油公司','323232','山东济南')
insert into gongying values('绿茶公司','565656','山东日照')
insert into gongying values('矿泉水公司','656565','山东潍坊')
insert into gongying values('红星二锅头公司','878787','北京')create table chaoshi--创建一个超市的表格
(ccode int primary key,--产品编号cname varchar(20),--产品名称cshu int,--产品数量cjin decimal(18,2),--进价cshou decimal(18,2),--售价cgcode int --供应商编号,供应商表的外键
)--向超市表格中添加数据
insert into chaoshi values(10001,'可口可乐',100,2,3,1001)
insert into chaoshi values(10002,'花生油',50,40,80,1002)
insert into chaoshi values(10003,'绿茶',100,8,20,1003)
insert into chaoshi values(10004,'矿泉水',150,1,2,1004)
insert into chaoshi values(10005,'红星二锅头',120,3,5,1005)--创建一个小票的表格,不能直接插入数据,在下面存储过程中根据商品的销售情况向里面添加数据
create table xiaopiao
(xcode int,--产品编号,超市表的外键xname varchar(20),--产品名称xshu int,--购买的产品数量xjiage decimal(18,2),--产品单价zjia decimal(18,2)  --产品总价
)select*from gongying
select*from chaoshicreate proc liushui --创建一个存储过程用来记录卖出货物的数量价格添加于小票表中
@mai int,--返回一个参数,购买的数量
@hcode int--购买的商品的编号
as
begin
declare--声明一下使用下面定义的变量
@name varchar(20),
@shu int,
@danjia decimal(18,2),
@zong decimal(18,2),
@count int
select @name=cname from chaoshi where ccode=@hcode--通过返回参数的商品编号在超市中查找商品名称赋值于变量@name中
select @shu=cshu from chaoshi where ccode=@hcode--通过编号查找此商品现有的而数量赋值于变量@shu中
select @danjia=cshou from chaoshi where ccode=@hcode--通过编号查找此产品的价格赋值于变量@danjia中
set @zong=@danjia*@mai--货物价格@danjia乘以返回参数中购买的数量@mai等于总价格,用变量@zong接收一下select @count=count(*)from chaoshi where ccode=@hcode--查看一下返回的参数商品编号是否存在,存在值为1,不存在为0,接收于变量@count中if @count>0--如果@count不为0,则存在这种商品
beginif @shu> = @mai--如果超市内商品的数量大于或者等于购买的数量begininsert into xiaopiao values(@hcode,@name,@mai,@danjia,@zong)--则向xiaopiao表中添加购买信息select xcode as 编号,xname as 产品名称,xshu as 购买数量,xjiage as 单价,zjia as 合计 from xiaopiao--把添加到表格中的信息查询一下,列名改为汉字显示endelse if @shu<@mai--如果超市内的商品数量小于购买的数量beginprint'货物不足'  --则,货物不足end
end
else if @count=0--如果@count值为0,则没有这件商品
begin
print'没有此商品'
endend
go--选中执行此存储过程,只能执行一次exec liushui 50,10008--此处是执行存储过程liushui并返回两个参数,数量和商品编号,可修改数量以及商品参数选择其他商品--此处商品编号的参数在表中并有此编号的商品,则执行@count=0这一步,没有此商品,因此小票表中就不会添加数                     --据
select*from xiaopiao--查看小票表中存储的数据

转载于:https://www.cnblogs.com/zyg316/p/5585936.html

SQL 存储过程 超市小票打印相关推荐

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

    应客户的需求= = ,要在网页端实现打印小票的功能 先来一张打印出的小票效果图(合计明显不对,因为有修改订单功能,请各位忽略) 用什么方法实现呢: 我想应该是有三种吧 1.用第三方的浏览器控件(这个好 ...

  2. 超市购物打印小票的简单程序 记录下来

    做了2个版本的超市购物小票打印程序,做过记录 一.C/S样图如下:      其中 输入商品的编码 回车 将会调用该商品的信息,显示在下面的DataGridView中 ,DataGridView中数量 ...

  3. 超市购物系统小票打印

    完成超市购物小票案例:下图为购物小票案例的控制台输出的数据 首先定义一个商品的实体类代码如下: /** 定义GoodsItem类(名称.货号.单价.数量.计价单位.金额)*/ public class ...

  4. RDLC不预览打印——超市小票

    RDLC不预览打印--超市小票 当然,写到这,肯定是能打印了 如果要做到超市小票的打印有以下几个问题: 1.小票需要在后台打印 2.小票没有分页,或者说,小票的长度是0,或者是无限长 后台打印就要用到 ...

  5. [Java] Receipt 简易超市小票

    主要功能 商品列表(id,名称,单价,计价单位) 购买商品 结算并打印小票 退出系统 import java.util.ArrayList; import java.util.Scanner;/*** ...

  6. sql存储过程完全教程

    sql存储过程完全教程 目录 1.sql存储过程概述 2.SQL存储过程创建E2C~,x0@iC|4W7c*H 3.sql存储过程及应用)z,e1A{3o 4.各种存储过程使用指南A~k?/L cS` ...

  7. sql存储过程及应用

    3.sql存储过程及应用 一.简介: 存储过程(Stored Procedure), 是一组为了完成特定功能的SQL 语句,集经编译后 存储在数据库中,用户通过指定存储过程的名字并给出参数,如果该存储 ...

  8. 单据小票打印模板自定义设计,手机收银软件APP搭配蓝牙便携打印机,移动便携打印零售单单据小票

    单据小票打印模板自定义设计,手机收银软件APP搭配蓝牙便携打印机,移动便携打印零售单单据小票,轻松实现仓库条码管理,扫码入库出库盘点_哔哩哔哩_bilibili单据小票打印模板自定义设计,手机收银软件 ...

  9. Sql存储过程加密和解密

    可用于加密SQL存储过程或者触发器(这是SQL Server本身提供的,也就是说这是微软的加密算法) http://www.mscto.com 使用 WITH ENCRYPTION 选项 WITH E ...

最新文章

  1. 严蔚敏《数据结构》C语言版 第三章 算法3.4 表达式求值
  2. 【FPGA教程案例2】基于vivado核的NCO正弦余弦发生器设计与实现
  3. 如何用excel筛选相似内容_Excel中如何将两组数据的相同内容进行快速筛选配对...
  4. oracle中delete、truncate、drop的区别 (转载)
  5. win10打开计算机黑屏怎么办,教你如何解决win10电脑开机黑屏的问题
  6. 剑指offer_01
  7. 白雪 | NLP加持知识图谱在金融事件挖掘中的应用
  8. 代码分析 | 单细胞转录组Normalization详解
  9. 美团推出极简版 为用户提供“米面粮油”等生活用品采购服务
  10. unity中使用protobuf-net
  11. C#高级编程笔记(二)
  12. ansys 19.0问题
  13. 泛微工作流程管理解决方案(转载)
  14. 四次挥手为什么要等2个MSL,而不是1个MSL
  15. vs 2010 sp1 中文版 安装sliverlight 5 正式版
  16. matlab 向量变标量,MATLAB变量——标量,向量,矩阵
  17. Java action name=*_* class=com..action.{1}Action method={2} 中*_*意思
  18. 【5 操作系统调度】
  19. Spring Cloud Gateway 3.1.3最新版中文手册官网2022
  20. c语言 求长方体体积

热门文章

  1. 链表的倒转, K个一组倒转问题
  2. 四进制加法(运算符重载)
  3. 【JS数据结构与算法】认识哈希表
  4. 7-38 实验7_3_奇数偶数 (100 分)
  5. 力扣(LeetCode)——编译、提交和注释快捷键
  6. [POJ1637]SightseeingTour
  7. 微信小程序 实现 树形菜单其实很简单
  8. 软件测试笔记_09_自动化相关概念【重要】
  9. html调用优酷视频播放,优酷网视频播放器站外调用详解
  10. 如何计算 NP(natural product likeness)和 BCT(Bertz complexity )?