欢迎来到天天文库
浏览记录
ID:34462059
大小:76.16 KB
页数:15页
时间:2019-03-06
《存储过程语法及实例》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、存储过程语法及实例】存储过程如同一门程序设计语言,同样包含了数据类型、流程控制、输入和输出和它自己的函数库。--------------------基本语法--------------------一.创建存储过程createproceduresp_name()begin.........end二.调用存储过程1.基本语法:callsp_name()注意:存储过程名称后面必须加括号,哪怕该存储过程没有参数传递三.删除存储过程1.基本语法:dropproceduresp_name//2.注意事项(1)不能在一个存储过程中删除另一个
2、存储过程,只能调用另一个存储过程四.其他常用命令1.showprocedurestatus显示数据库中所有存储的存储过程基本信息,包括所属数据库,存储过程名称,创建时间等2.showcreateproceduresp_name显示某一个mysql存储过程的详细信息--------------------数据类型及运算符--------------------一、基本数据类型:略二、变量:自定义变量:DECLARE aINT;SETa=100; 可用以下语句代替:DECLAREaINTDEFAULT100;变量分为用户变量
3、和系统变量,系统变量又分为会话和全局级变量用户变量:用户变量名一般以@开头,滥用用户变量会导致程序难以理解及管理1、在mysql客户端使用用户变量mysql>SELECT'HelloWorld'into@x;mysql>SELECT@x;mysql>SET@y='GoodbyeCruelWorld';mysql>select@y;mysql>SET@z=1+2+3;mysql>select@z;2、在存储过程中使用用户变量mysql>CREATEPROCEDUREGreetWorld()SELECTCONCAT(@greeti
4、ng,'World');mysql>SET@greeting='Hello';mysql>CALLGreetWorld();3、在存储过程间传递全局范围的用户变量mysql>CREATEPROCEDUREp1() SET@last_procedure='p1';mysql>CREATEPROCEDUREp2()SELECTCONCAT('Lastprocedurewas',@last_procedure);mysql>CALLp1();mysql>CALLp2(); 三、运算符:1.算术运算符+ 加 SETvar1=
5、2+2; 4- 减 SETvar2=3-2; 1* 乘 SETvar3=3*2; 6/ 除 SETvar4=10/3; 3.3333DIV 整除SETvar5=10DIV3;3% 取模SETvar6=10%3; 12.比较运算符> 大于1>2False< 小于2<1False<= 小于等于2<=2True>= 大于等于3>=2TrueBETWEEN 在两值之间5BET
6、WEEN1AND10TrueNOTBETWEEN不在两值之间5NOTBETWEEN1AND10FalseIN 在集合中5IN(1,2,3,4)FalseNOTIN 不在集合中5NOTIN(1,2,3,4)True= 等于2=3False<>,!= 不等于2<>3False<=> 严格比较两个NULL值是否相等NULL<=>NULLTrueLIKE 简单模式匹配"GuyHarrison"LIKE"Guy%"TrueREGEXP
7、正则式匹配"GuyHarrison"REGEXP"[Gg]reg"FalseISNULL 为空0ISNULLFalseISNOTNULL不为空0ISNOTNULLTrue3.逻辑运算符4.位运算符
8、 或& 与<<左移位>>右移位~ 非(单目运算,按位取反)注释:mysql存储过程可使用两种风格的注释双横杠:--该风格一般用于单行注释c风格:/*注释内容*/一般用于多行注释--------------------流程控制--------------------一、顺序结构二、分支结构ifcase三、循环结构for循
9、环while循环loop循环repeatuntil循环注:区块定义,常用begin......end;也可以给区块起别名,如:lable:begin...........endlable;可以用leavelable;跳出区块,执行区块以后的代码begin和end如同C语言中的
此文档下载收益归作者所有