1、存储过程和函数:
事先经过编译并存储在数据库中的一段sql语句的集合
2、使用的好处:
(1)简化应用开发人员的很多工作
(2)减少数据在数据库和应用服务器之间的传输
(3)提高了数据处理的效率
1、创建存储过程:
create procedure 存储过程名 ([proc_parameter[,…]])
[characteristic…]routine_body
2、创建函数:
create function 函数名([func_parameter[,…]])
returns type
[characteristic…]routine_body
proc_parameter:
[in|out|inout] param_name type
Func_paramter:
param_name type
Type:
任何有效的mysql数据类型
Characteristic:
language sql(默认,且推荐)
|[not] deterministic
|{
contains sql|no sql|reads sql data|modifies sql data}
|sql security{
definer|invoker}
|comment ‘string’
Rountine_body:
有效的sql 过程语句
(1)修改存储过程:
alter procedure 存储过程名 [charactristic…]
(2)修改函数:
alter function 函数名 [charactristic…]
characteristic:
{
contains sql|no sql|reads sql data|modifies sql data}
|sql security{
definer|invoker}
|comment ‘string’
(1)调用存储过程:
call 存储过程名(参数列表)
(2)调用函数:
Select 函数名(参数列表)
(3)案例:
#一、创建存储过程实现传入用户名和密码,插入到admin表中
CREATE PROCEDURE test_pro1(IN username VARCHAR(20),IN loginPwd VARCHAR(20))
BEGIN
INSERT INTO admin(admin.username,PASSWORD)
VALUES(username,loginpwd);
END $
#二、创建存储过程实现传入女神编号,返回女神名称和女神电话
CREATE PROCEDURE test_pro2(IN id INT,OUT NAME VARCHAR(20),OUT phone VARCHAR(20))
BEGIN
SELECT b.name ,b.phone INTO NAME,phone
FROM beauty b
WHERE b.id = id;
END $
#三、创建存储存储过程或函数实现传入两个女神生日,返回大小
CREATE PROCEDURE test_pro3(IN birth1 DATETIME,IN birth2 DATETIME,OUT result INT)
BEGIN
SELECT DATEDIFF(birth1,birth2) INTO result;
END $
#四、创建存储过程或函数实现传入一个日期,格式化成xx年xx月xx日并返回
CREATE PROCEDURE test_pro4(IN mydate DATETIME,OUT strDate VARCHAR(50))
BEGIN
SELECT DATE_FORMAT(mydate,'%y年%m月%d日') INTO strDate;
END $
CALL test_pro4(NOW(),@str)$
SELECT @str $
说明:一次只能删除一个存储过程或者函数,并且要求有该过程或函数的alter routine 权限
(1)删除存储过程:
drop procedure [if exists] 存储过程名
(2)删除函数:
drop function [if exists] 函数名
(1)查看存储过程或函数的状态:
show {
procedure|function} status like 存储过程或函数名
(2)查看存储过程或函数的定义:
show create {
procedure|function} 存储过程或函数名
(3)通过查看information_schema.routines了解存储过程和函数的信息(了解)
select * from rountines where rounine_name = 存储过程名|函数名
搜索热词1、github上发现富文本编辑器:2、结合react+antd的具体使用:案例使用场景:MyModal为弹窗,弹窗显示 编辑名称及描述。描述使用wangeditor富文本编辑器实现。MyModal.jsimport { Form,Modal,Input,Row,Col } from 'antd';import Editor from 'wangeditor';const formItem...
今天在爱奇艺的笔试题里第一次看到sys.stdout.write,之前一直用的是print,因为print()真的简单好用啊。stdout只能输出字符串,如果要输出数字,也需要先转成字符串形式的;print可以直接输出各种类型stdout输出结果后不自动换行;print会自动换行在shell中,stdout输出结果后面会多一项字符串的长度(不知道如何去掉,头疼),而在spyder和py...
ssh 隧道 最近,我想设置一个从家用PC到笔记本电脑的远程桌面共享会话。 在阅读设置指南时,我遇到了ssh隧道技术。 尽管有很多关于该主题的文章,但我还是花了很多时间进行谷歌搜索,一些实验和几次Wireshark会话以了解幕后情况。 大部分指南在解释概念上都不完整,这使我希望获得一篇有关该主题的好文章,并附上一些说明性插图。 所以我决定自己写。 所以这里... 介绍 SSH隧道包含通过...
文章目录前言 一、ArrayBlockingQueue构造函数初始化数据 二、add、put、poll、peek、take、offer、remove等方法调用 三、Itrs类迭代器的使用 总结前言ArrayBlockingQueue是一个基于数组的阻塞队列实现,在多线程环境下,自动管理了多线间的自动等待于唤醒功能,从而使得程序员可以忽略这些细节,关注更高级的功能。一、ArrayBlockingQueue构造函数初始化数据初始构造函数内定...
项目中要展示json数据,自己写一套html来展示太麻烦,可以使用jquery的插件jsonview来解决这个问题。首先,去jquery官网下载最新的jsonview插件,放在js目录中,下载地址:http://plugins.jquery.com/jsonview/;其次,在html中加入以下代码:<div class="col-lg-6"> <sectio...
PaySDK介绍PaySDK 是 PHP 集成支付 SDK ,集成了支付宝、微信支付的支付接口和其它相关接口的操作。无框架依赖,支持所有框架,支持 Swoole 协程环境。同时欢迎各位加入宇润 PHP 全家桶技术支持群:17916227 ,如有问题可以及时解答和修复。大家在开发中肯定会对接各种各样的支付平台,我个人精力有限,欢迎各位来 Github 提交 PR,一起完善 PaySDK ,让它能够支...
欧拉算法定义定义:在数学和计算机科学中,欧拉方法,命名自它的发明者莱昂哈德·欧拉,是一种一阶数值方法,用以对给定初值的常微分方程(即初值问题)求解。它是一种解决数值常微分方程的最基本的一类显型方法(Explicit method)。欧拉法是常微分方程的数值解法的一种,其基本思想是迭代。其中分为前进的EULER法、后退的EULER法、改进的EULER法。所谓迭代,就是逐次替代,最后求出所要求的解,并达到一定的精度。误差可以很容易地计算出来。非线性方程都是所谓“解不出来”的,即使是dydx=y2+x2\
Java 构建工具主要有三个,Ant、Maven 和 Gradle,本文关注于在 Eclipse 中如何使用 Maven。
刚开始按照网上的说法打包上线放到tomcat的webapps下,但是访问的时候,资源找到的,页面确是一片空白后来发现里这个大兄弟的博文,的确有效https://blog.csdn.net/Dear_Mr/article/details/72871919访问不到页面,其实就是路径的问题,要让项目正常运行,重点是修改这几个地方:把2处地址改成 ./还有这里做修改:注意:这里base的路径要和 项目名字...
PHP实现的支付宝支付功能:结合实例形式分析php使用支付宝接口实现支付功能,首先对接口代码进行整理,保证运行的稳定性;然后,回调处理中验签通过核实参数达到功能实现。问题详情:本文实例讲述了PHP实现的支付宝的支付功能。分享给大家供大家参考,具体如下:在给app做支付宝支付接口的时候收集内容整理如下:接口:import('alipay.AopClient', EXTEND_PATH);import...
ansible介绍ansible——“Ansible is Simple IT Automation”,它的目标:自动化部署APP,自动化管理配置项,自动化的持续交付,自动化的(aws)云服务管理。Ansible 平台可实现多节点的软件部署,执行特定任务并进行配置管理。Ansible提供一个统一的界面来协调所有的 IT 自动化功能,部署更快。受管理的节点无需安装额外的远程控制软件,由平台通...
问题描述 给定一个N阶矩阵A,输出A的M次幂(M是非负整数) 例如: A = 1 2 3 4 A的2次幂 7 10 15 22输入格式 第一行是一个正整数N、M(1<=N<=30, 0<=M<=5),表示矩阵A的阶数和要求的幂数 接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的值输出格式 输出共N行,每行N个整数,表示A的M次幂所对应的矩阵。相邻的数之间用一个空格隔开样例输入2 21 23 4样例输