mysq进阶

学习资料:

官方文档:http://dev.mysql.com/doc/refman/5.0/en/tutorial.html

1.存储过程:

优点:业务逻辑封装在存储过程中,容易维护,执行效率也高。

缺点:不同的数据库功能函数等不一样,移植的时候需要改动。

create procedure 存储过程名字()
(
   [in|out|inout] 参数 datatype
)
begin
   MySQL 语句;
end;

栗子:

DELIMITER//
create procedure pr_add
(a int,b int
)
begindeclare c int; //后加DEFAULT赋默认值,SET 赋值,存储过程的参数不能指定默认值if a is null thenset a = 0;end if;if b is null thenset b = 0;end if;set c = a + b;select c as sum;
END//

注意:与sqlserver不同的是,没有加DELIMITER// 和 END//无法执行

调用存储过程:

call pr_add(10, 20);

或者

set @a = 10;
set @b = 20;

call pr_add(@a, @b);

关键字:

IF THEN、ELSEIF、ELSE、END IF

name:LOOP 、END LOOP name

WHILE DO、END WHILE

REPEAT、UNTILL ... END REPEAT

2.自定义函数

mysql>DEMILITER $$

 3.

自定义触发器:当一阵表插入数据时,另一张表同步更新,并且自增id。

DROP TRIGGER IF EXISTS t_afterinsert_on_kd_files;
CREATE TRIGGER t_afterinsert_on_kd_files
AFTER INSERT ON kd_files
FOR EACH ROW
BEGIN
if new.in_recycle=0 then
SET @VAR= (select max(id)+1 from kd_files_es)+1;
#insert into kd_files_es_test(file_id,uid,file_name,file_ext,kf_id,file_size,mtime) select new.file_id,new.uid,new.file_name,new.file_ext,new.kf_id,new.file_size,new.mtime FROM kd_files LIMIT 1;
INSERT into kd_files_es set id=@VAR,file_id=new.file_id,uid=new.uid,file_name=new.file_name,file_ext=new.file_ext,kf_id=new.kf_id,file_size=new.file_size,mtime=new.mtime,tag=1;
end IF;
END;

转载于:https://www.cnblogs.com/flyingbee6/p/5248494.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/261832.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

归纳整理--第4篇--常用软件

CSDN博客不再经常更新,更多优质文章请来 粉丝联盟网 FansUnion.cn! (FansUnion) 随着软硬件设施的提高和网民网络生活的丰富,电脑上的软件越来越多。对于一个专业开发者来说,尤其如此。常用软件主要分2类。1.娱乐休闲类。普通网民使用的一些软…

获取主机的信息

BOOL GetLocalHostInfo(){   //得到主机名称   int nComputerNameLen;   nComputerNameLen MAX_COMPUTERNAME_LENGTH 1;   if(SOCKET_ERROR gethostname(m_chLocalHostName,nComputerNameLen))     return FALSE;   ///end//   ///得到主机IP地址   HOST…

python数据动画_[转载]Maya使用Python获取动画每帧的rotation数据

import maya.cmds asmcimport os#添加一个"Maya动画收集数据"窗口设置动画开始播放#win mc.window(title "Maya动画收集数据", w 400, h 40)#mc.frameLayout( lvFalse )#mc.playbackOptions( minTime0, maxTime20 )mc.select("jamie_arm_R",…

HTML使用vue的 event,vue-js 特殊变量$event常识

背景如果我们要阻止默认事件,在 chrome 等浏览器中,我们可能要写一个:event.preventDefault();而在 IE 中,我们则需要写:event.returnValue false;jquery ,跨浏览器的实现,我们统一只需要写&am…

创建非矩形的Windows 窗体

创建非矩形窗体的过程包含三个步骤:• 创建一个作为窗体图面的位图。(一种有效的方式是,您可以从矩形中“裁剪掉”所需的窗体形状。)• 创建Windows 应用程序项目,将其属性设置为移除标题栏并使用位图作为窗体背景。•…

python3装饰器例子_python 装饰器(三):装饰器实例(一)

示例 7-15 定义了一个装饰器,它会在每次调用被装饰的函数时计时,然后把经过的时间、传入的参数和调用的结果打印出来。示例 7-15 一个简单的装饰器,输出函数的运行时间importtimedefclock(func):def clocked(*args): #➊t0 time.perf_counte…

《c专家编程》笔记--define和typedef的区别

#include <stdio.h> #define peach int typedef int banana;int main(void){unsigned peach a;unsigned banana b;return 0; } 上面的代码中&#xff0c; unsigned banana b; 该行编译会出现错误。 因为typedef是一种彻底的“封装”类型&#xff0c;而#define只是简单的文…

ExtJs6 Desktop Demo 修改测试

一直用Extjs4&#xff0c; extjs6 的变化较大&#xff0c;这几天有兴趣研究一下&#xff0c;把自带的Demo的desktop做了些修改&#xff0c; 1.首先下载安装sencha cmd 2.然后 需要生成新项目 用sencha cmd 命令如下&#xff1a; sencha -sdk E:\ext-6.0.0 generate app linb…

包含html语言的超链接标记的网页_零基础入门 HTML 的 8 分钟极简教程

在今天&#xff0c;前端工程师已经成为研发体系中的重要岗位之一。可是与此相对的是&#xff0c;极少大学的计算机专业愿意开设前端课程&#xff0c;大部分前端工程师的知识&#xff0c;也都是在实践和工作中不断学习的。最近收到很多同学的后台留言&#xff0c;说希望多推出一…

验证dropdownlist必选

假定dropdownlist: <asp:dropdownlist id"ddListNewsType" runat"server"><asp:ListItem Value"请选择类别" Selected"True">请选择类别</asp:ListItem><asp:ListItem Value"新闻中心">新闻中心<…

kotlin读取html,kotlin 使用skrape {it}从html获取数据 - 糯米PHP

查看语法&#xff0c;我假设您使用的是0.6.0版。您必须使用更特定的CSS选择器。data class MyScrapedData(val userName: String,val link: String)fun main() {val githubUserData skrape {url "http://www.website"extract {MyScrapedData(userName el("di…

C++函数默认值的用法

C函数默认值的用法 在C中&#xff0c;函数允许提供一个默认值。这样&#xff0c;当函数被调用时如果没有提供这些参数的值&#xff0c;编译器会自动使用默认值。示例代码如下&#xff1a; #include <iostream>// 函数声明&#xff0c;指定默认参数 void myFunction(int…

c++单链表【构造函数、运算符重载、析构函数、增删查改等】

c中的单向链表写法&#xff1a;实现增删查改、构造函数、运算符重载、析构函数等。建立头文件SList.h#pragma oncetypedef int DataType; //SList要访问SListNode&#xff0c;可以通过友元函数实现&#xff0c;友元函数在被访问的类中 class SListNode {friend class SList;//友…

mongodb模糊查询_AWS 回击了!推出兼容 MongoDB 的 DocumentDB

2018 年 10 月&#xff0c;MongoDB 将其开源许可证从 GNU AGPLv3 切换到 Server Side Public License(SSPL)&#xff0c;并明确指出之所以会更改开源协议是因为部分云计算公司在使用 MongoDB 的时候没有遵循其开源协议。2019 年 1 月 9 日&#xff0c;AWS 宣布推出 Amazon Docu…

MyEclipse6.5与Perforce的集成

perforce插件下载地址http://www.perforce.com/downloads/http/p4-wsad/install/3.4 转载于:https://www.cnblogs.com/xinzhuangzi/archive/2010/08/29/4100531.html

琴岛学院计算机应用技术,我院计算机工程系成功晋级“中国高校计算机大赛-网络技术挑战赛”全国总决赛...

2017年7月22日&#xff0c;由教育部高等学校计算机类专业教学指导委员会、教育部高等学校软件工程专业教学指导委员会、教育部高等学校大学计算机课程教学指导委员会和全国高等学校计算机教育研究会联合主办的“中国高校计算机大赛”首届网络技术挑战赛于济南大学举办。青岛理工…

C语言宏定义##连接符和#符的使用及其它宏定义注意事项

C语言中如何使用宏C&#xff08;和C&#xff09;中的宏&#xff08;Macro&#xff09;属于编译器预处理的范畴&#xff0c;属于编译期概念&#xff08;而非运行期概念&#xff09;。下面对常遇到的宏的使用问题做了简单总结。 关于#和## 在C语言的宏中&#xff0c;#的功能是将其…

Android L 的 Tint(着色)

Tint 是什么&#xff1f; Tint 翻译为着色。 着色&#xff0c;着什么色呢&#xff0c;和背景有关&#xff1f;当然是着背景的色。当我们开发 App 的时候&#xff0c;如果使用了 Theme.AppCompat 主题的时候&#xff0c;会发现 ActionBar 或者 Toolbar 及相应的控件的颜色会相应…

python 调用函数 开销_Python函数调用非常慢

这主要是为了确保我的方法是正确的,但我的基本问题是,如果我需要访问函数,那么检查函数外部是否值得.我知道,我知道,过早优化,但在很多情况下,它在函数调用中放置一个if语句以确定是否需要运行其余代码,或者将它放在函数调用之前.换句话说,它不会以任何方式做到这一点.现在,所有…

机房收费系统讨论

在假期快要结束的时候,我们大家一起讨论了各自的机房收费系统.轮流的看了每个人的作品.我们是分两个组看得. 说说看这次作品的感受吧. 大家作品都做得很认真.由于都是第一次做作品,而且还是第一次自己独立的完成一个较大的作品. 基本功能大家可是说是都实现了.我个人的作品现在…