上海市民营企业100强,网站设计网站优化公司,crm管理软件,seolxw8.存储过程 
创建语法 可以使用 CREATE PROCEDURE 语句创建存储过程#xff0c;语法格式如下#xff1a; CREATE PROCEDURE 过程名 ( [过程参数[,…] ] ) 过程体 [过程参数[,…] ] 格式 [ IN | OUT | INOUT ] 参数名 类型 语法说明如下…8.存储过程 
创建语法 可以使用 CREATE PROCEDURE 语句创建存储过程语法格式如下 CREATE PROCEDURE 过程名 ( [过程参数[,…] ] ) 过程体 [过程参数[,…] ] 格式 [ IN | OUT | INOUT ] 参数名 类型 语法说明如下 1) 过程名 存储过程的名称默认在当前数据库中创建。若需要在特定数据库中创建存储过程则要在名称前面加上数据库的名称即 db_name.sp_name。 需要注意的是名称应当尽量避免选取与 MySQL 内置函数相同的名称否则会发生错误。 2) 过程参数 存储过程的参数列表。其中参数名为参数名类型为参数的类型可以是任何有效的 MySQL 数据类型。当有多个参数时参数列表中彼此间用逗号分隔。存储过程可以没有参数此时存储过程的名称后仍需加上一对括号也可以有 1 个或多个参数。 MySQL 存储过程支持三种类型的参数即输入参数、输出参数和输入/输出参数分别用 IN、OUT 和 INOUT 三个关键字标识。其中输入参数可以传递给一个存储过程输出参数用于存储过程需要返回一个操作结果的情形而输入/输出参数既可以充当输入参数也可以充当输出参数。 需要注意的是参数的取名不要与数据表的列名相同否则尽管不会返回出错信息但是存储过程的 SQL 语句会将参数名看作列名从而引发不可预知的结果。 3) 过程体 存储过程的主体部分也称为存储过程体包含在过程调用的时候必须执行的 SQL 语句。这个部分以关键字 BEGIN 开始以关键字 END 结束。若存储过程体中只有一条 SQL 语句则可以省略 BEGIN-END 标志。 在存储过程的创建中经常会用到一个十分重要的 MySQL 命令即 DELIMITER 命令特别是对于通过命令行的方式来操作 MySQL 数据库的使用者更是要学会使用该命令。 在 MySQL 中服务器处理 SQL 语句默认是以分号作为语句结束标志的。然而在创建存储过程时存储过程体可能包含有多条 SQL 语句这些 SQL 语句如果仍以分号作为语句结束符那么 MySQL 服务器在处理时会以遇到的第一条 SQL 语句结尾处的分号作为整个程序的结束符而不再去处理存储过程体中后面的 SQL 语句这样显然不行。 为解决以上问题通常使用 DELIMITER 命令将结束命令修改为其他字符。语法格式如下 DELIMITER $$ 语法说明如下  $$ 是用户定义的结束符通常这个符号可以是一些特殊的符号如两个“?”或两个“”等。  当使用 DELIMITER 命令时应该避免使用反斜杠“\”字符因为它是 MySQL 的转义字符。  删除 存储过程语法 DROP procedure [] IF EXISTS ] 存储过程名; 存储过程示例: --声明 存储过程  无参数delimiter //create procedure abc_1()beginselect  hello 存储过程 ;end//--调用call abc_1();  --声明 存储过程  带一个输出参数delimiter //create procedure abc_2(out abc int)beginselect count(*) into abc from dept    ;end//--调用   -- 必须使用 call abc_2(t);select t;  --声明 存储过程  带一个输入参数delimiter //create procedure abc_3(in abc int)beginselect name  from dept where id abc ;end//--调用   call abc_3(5);