存储过程

第一部分:样例库的应用

1 Creating Stored Procedures(创建存储过程)SQL语句描述:

create procedure productpricing( )
beginselect avg(prod_price) as priceaveragefrom products;
end;

功能描述:将查询产品平均价格存储为过程productpricing

执行结果截图:

2Executing Stored Procedures(调用过程)

SQL语句描述:

CALL productpricing();

功能描述:调用过程,即查询产品平均价格

执行结果截图:

3Dropping Stored Procedures(删除过程)

SQL语句描述:

DROP PROCEDURE productpricing;

功能描述:删除过程

执行结果截图:

4Working with Parameters(带参的存储过程)

4.1)带输出参数:

SQL语句描述:

create procedure productpricing(out pl decimal(8,2),out ph decimal(8,2),out pa decimal(8,2)
)
beginselect min(prod_price)into plfrom products;select max(prod_price)into phfrom products;select avg(prod_price)into pafrom products;
end ;

功能描述:分别返回产品的最高、最低、平均价格,并存入三个变量中

执行结果截图:

创建成功后,查询结果如下

CALL productpricing(@pricelow,@pricehigh,@priceaverage) ;SELECT @pricelow,@pricehigh,@priceaverage;

4.2)带输入输出参数:

SQL语句描述:

create procedure ordertotal(in onumber int,out ototal decimal(8,2)
)
beginselect sum(item_price*quantity)from orderitemswhere order_num = onumberinto ototal;
end ;

功能描述:求出某特定订单号的总金额

执行结果截图:

创建成功后,查询结果如下

CALL ordertotal(20005, @total);SELECT @total;

5Building Intelligent Stored Procedures(创建智能存储过程)

SQL语句描述:

create procedure ordertotal(in onumber int,in taxable boolean,out ototal decimal(8,2)
)
begin-- declare variable for totaldeclare total decimal(8,2);-- declare tax percentagedeclare taxrate int default 6;-- get the order totalselect sum(item_price*quantity)from orderitemswhere order_num = onumberinto total;-- is this taxable?if taxable then-- yes, so add taxrate to the totalselect total+(total/100*taxrate) into total;end if;-- and finally, save to out variableselect total into ototal;
end;

功能描述:求是否含税的给定订单总金额

执行结果截图:

下图查询订单为20005号,且不含税的订单总金额。

下图查询订单为20005号,且含税的订单总金额。

6 Inspecting Stored Procedures(检查存储过程)

6.1

SQL语句描述:

SHOW CREATE PROCEDURE ordertotal;

功能描述:显示用于创建一个存储过程ordertotal的CREATE语句,即定义语句的本身

执行结果截图:

6.2

SQL语句描述:

SHOW PROCEDURE STATUS LIKE 'ordertotal' ;

功能描述:获得当前数据库中包括何时、何人创建等详细信息的存储过程列表,使用like关键字限制或指定一个过滤模式。

执行结果截图:

第二部分:所选课题数据库的应用

1 Creating Stored Procedures(创建存储过程)

SQL语句描述:

create procedure goodsnum()
beginselect count(*) as num from goods;
end;

功能描述:查询商品个数

执行结果截图:

2Executing Stored Procedures(调用过程)

SQL语句描述:

CALL goodsnum ();

功能描述:调用过程,即查询商品个数

执行结果截图:

3Dropping Stored Procedures(删除过程)

SQL语句描述:

DROP PROCEDURE goodsnum;

功能描述:删除过程

执行结果截图:

4Working with Parameters(带参的存储过程)

SQL语句描述:

create procedure goodsnum(in gid int,out dnum int(11)
)
beginselect goods_stockfrom goodswhere id = gidinto dnum;
end;

功能描述:查询某商品数量

执行结果截图:

创建成功后,查询结果如下

5 Inspecting Stored Procedures(检查存储过程)

SQL语句描述:

SHOW CREATE PROCEDURE goodsnum;

功能描述:显示用于创建一个存储过程goodsnum的CREATE语句,即定义语句的本身

执行结果截图:

参考文章

《数据库系统实训》实验报告——存储过程相关推荐

  1. 数据库系统实训——实验五——存储过程

    第一部分:样例库的应用 1)Creating Stored Procedures(创建) CREATE PROCEDURE productpricing( ) BEGINSELECT Avg(prod ...

  2. 计算机实训实验报告,计算机实训实验报告.doc

    计算机实训实验报告.doc HEFEI UNIVERSITY 计算机实训综合报告 系 别 电子信息与电气工程系 专 业 07电气类 班 级 07级电气类(4)班 姓 名 指导老师 完成时间 2007年 ...

  3. 有滞后单容对象MATLAB仿真,自动化生产线实训实验报告

    <自动化生产线实训实验报告>由会员分享,可在线阅读,更多相关<自动化生产线实训实验报告(47页珍藏版)>请在人人文库网上搜索. 1.北京科技大学自动化生产线实训实验报告班 级: ...

  4. python爬虫实训实验报告_用Pycharm进行scrapy爬虫的实验报告

    1. 实验内容 使用Pycharm写代码,采用scrapy爬取红袖小说网前十页的作品信息. 2. 试验环境 操作系统:window10 家庭版64位操作系统 Python版本:python 3.7.3 ...

  5. 数据库系统实训——实验十——事务

    第一部分:样例库的应用 事件处理: 1)关闭自动提交功能 语句: update vendors set vend_name='New' where vend_id=1001; select * fro ...

  6. 数据库系统实训——实验九——函数

    第一部分:样例库的应用 1)字符串类(文本处理函数) 语句: select cust_name,cust_contact from customers where SOUNDEX(cust_conta ...

  7. 数据库系统实训——实验八——数据库维护

    第一部分:样例库的应用 1) 使用MYSQLDUMP命令备份数据库 mysqldump -u root -p shujukuziyuan >D:/mysql/shujukuzioyuan.sql ...

  8. 数据库系统实训——实验七——触发器

    第一部分:样例库的应用 1) INSERT 触发器 语句: CREATE TABLE orders_log ( change_id int NOT NULL AUTO_INCREMENT, chang ...

  9. 数据库系统实训——实验六——游标

    第一部分:样例库的应用 1)创建游标 语句: CREATE PROCEDURE processorders() BEGIN DECLARE ordernumbers CURSOR FOR SELECT ...

  10. 数据库系统实训——实验四——视图

    第一部分:样例库的应用 1) 利用视图简化复杂的查询(联结) CREATE VIEW productcustomers AS SELECT cust_name, cust_contact,prod_i ...

最新文章

  1. 很多都是python很简单吗,但是要如何才能入门python并精通呢?
  2. C# 将数据写入DataGridView 中并显示
  3. 教育部发文:AI、算法等2018年进入全国高中课程!
  4. 计算机应用基础模拟试题一,计算机应用基础模拟试题1
  5. linux中js文件有乱码,解决node.js读取文件时中文乱码问题
  6. 阿里云OSS上传文件demo
  7. 【读书笔记】 网页关闭确认框
  8. MySQL存储过程和函数(一)
  9. Oracle 安装时候的fs.aio-max-nr参数
  10. 使用-辗转相除法-求最大公约数
  11. javascript学习笔记之document对象、表单及表单元素、脚本化cookie
  12. 配置管理计划的新设想
  13. 西门子阀门定位器安装教程来啦,不会安装的宝贝们仔细看看咯!
  14. php获取扫描枪数据,条码扫描枪的读取技巧
  15. 深圳学校积分计算机,深圳积分入户计算机职称 能加分吗,很多人都不知道这个!...
  16. 无聊科技正经事周刊(第3期):美团的推荐算法,是在玩火吗?
  17. 在线的图片颗粒化效果实现
  18. 如何下载Figma(肥姑妈)
  19. java 格式化 浮点数_如何在javascript中格式化浮点数?
  20. android 投放 电视,手机投屏到电视的5种方法 看完才知道原来这么简单!

热门文章

  1. 火星人敏捷开发手册 原10.31版本已于10.14提前发布,特此通知
  2. TCP/IP和UDP的区别
  3. php协程实现mysql异步_swoole与php协程实现异步非阻塞IO开发
  4. Oracle创建序列的sql语句,【Oracle学习】之 序列(Sequence)
  5. python中的列表生成式_生成器中的列表推导式
  6. jtree+mysql_Swing: JTree显示 图标 + 文字 | 学步园
  7. scanf 接收 空格 输入_【C语言】- printf 和scanf 函数详解!
  8. java实体类怎么写_Java中(entity)实体类的书写规范
  9. python numpy官网_python+numpy+scipy=matlab,抛弃matlab
  10. 二、Go语言基础入门