1.基本语法:call sp_name()
create procedure 存储过程名字()
(
[in|out|inout] 参数 datatype
)
begin
MySQL 语句;
end;
MySQL 存储过程中的变量,不需要在变量名字前加“@”,虽然 MySQL 客户端用户变量要加个“@”。
drop procedure sp_name//
1.区块定义,常用
begin
......
end;
也可以给区块起别名,如:
lable:begin
...........
end lable;
可以用leave lable;跳出区块,执行区块以后的代码
2.条件语句
if 条件 then
statement
else
statement
end if;
3.循环语句
(1).while循环
[label:] WHILE expression DO
statements
END WHILE [label] ;
(2).loop循环
[label:] LOOP
statements
END LOOP [label];
(3).repeat until循环
[label:] REPEAT
statements
UNTIL expression
END REPEAT [label] ;
1.show procedure status
显示数据库中所有存储的存储过程基本信息,包括所属数据库,存储过程名称,创建时间等
2.show create procedure sp_name
显示某一个存储过程的详细信息
附
drop procedure if exists pr_statis_rows;
create procedure pr_statis_rows(
db1 varchar(50),
db2 varchar(50)
)
begin
DECLARE done INT DEFAULT 0;
declare tempTableName varchar(50);
declare stmt varchar(2000);
DECLARE cur CURSOR FOR select table_name from INFORMATION_SCHEMA.TABLES where table_type='BASE TABLE' and table_schema=db1;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
create TEMPORARY table IF NOT EXISTS ecard_row (table_name varchar(50), rows_ int, table_name2 varchar(50), rows_2 int);
-- 打开
/* select db1; */
# 打印db1
OPEN cur;
REPEAT
FETCH cur INTO tempTableName;
if tempTableName<>'ecard_row' then
IF NOT done THEN
set @c1=0;
set @c2=0;
set @sql = concat('select count(*) from ', db1 ,'.', tempTableName, ' into @c1');
set @sql2 = concat('select count(*) from ', db2 ,'.', tempTableName, ' into @c2');
prepare stmt from @sql;
execute stmt;
prepare stmt from @sql2;
execute stmt;
Insert ecard_row values (tempTableName, @c1, tempTableName, @c2);
END IF;
end if;
UNTIL done END REPEAT;
CLOSE cur;
# 不能有return
end;
delete from ecard.ecard_row;
# 不能省略参数
call ecard.pr_statis_rows('aa','bb');
select * from ecard.ecard_row
show procedure status
分享到:
相关推荐
MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者预编译一系列SQL语句并封装成一个可重复使用的单元,从而提高数据处理的效率和代码的复用性。本教程将深入探讨MySQL存储过程的创建、调用以及相关概念...
mysql 5_0存储过程学习总结 mysql 5_0存储过程学习总结
### MySQL存储过程入门学习 #### 一、存储过程概述 **存储过程**(Stored Procedure)是一种在数据库中存储的预先编写并编译好的SQL程序或函数集合。存储过程的主要优势在于可以提高应用程序的性能和响应速度,同时...
### MySQL存储过程基础知识点 #### 1. 存储过程的定义和示例 存储过程是存储在MySQL服务器上的预编译的SQL代码段,它能够接受参数、执行一系列的SQL语句和流程控制语句。存储过程可以提高数据库操作的效率,同时...
**六、MySQL存储过程基本函数** 存储过程支持多种内置函数,用于处理字符串、数值和日期时间类型的数据: 1. **字符串类**:包括`CHARSET()`、`CONCAT()`、`INSTR()`、`LCASE()`、`LEFT()`、`LENGTH()`、`LOAD_FILE...
同时,`mysql存储过程教程.pdf`很可能是一个详细的指南,涵盖了存储过程的基础概念、语法、高级特性以及实例。通过阅读这份教程,读者可以学习如何创建、修改、删除存储过程,理解如何在存储过程中使用变量、游标、...
### MySQL存储过程常用语句详解 #### 一、概述 MySQL 存储过程是一种预编译的 SQL 脚本,它可以包含复杂的流程控制逻辑,如条件判断、循环等,并可接受输入参数、返回单个或多个结果集以及输出参数。通过使用存储...
总结起来,MySQL存储过程提供了一种强大而灵活的方式来组织和执行数据库操作,可以提升代码的可读性和可维护性。在PHP中调用存储过程可以简化复杂的数据库交互,尤其是在处理大量数据或需要执行一系列操作时。通过...
MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者预定义一系列SQL语句,形成一个可重复调用的代码块。在本教程中,我们将深入探讨MySQL存储过程的编写规范和实际应用,帮助你更好地理解和掌握这一技术...
总结,MySQL存储过程提供了数据库级别的代码复用和事务管理,而MyBatis3作为Java持久层框架,简化了数据库操作,两者结合可以实现高效、安全的数据处理。学习和掌握这两者,对于提升数据库应用开发的效率和质量至关...
MySQL的安装过程通常包括下载适合操作系统的安装包,按照向导进行安装,然后配置服务器参数,如设置root用户的密码。在Windows上,可以通过服务管理器启动和停止MySQL服务;在Linux上,可以使用系统服务命令如`...
通过学习MySQL基础,你可以掌握如何创建、操作和管理数据库,包括表的创建、数据的插入、查询、更新和删除,以及数据库的安全性设置和备份恢复等。这将为后续的数据库设计和开发工作打下坚实的基础。无论你未来选择...
在学习MySQL的过程中,理解这些基本概念、原理和数据类型是至关重要的,这有助于构建坚实的数据库知识基础,进一步提升数据库管理和开发的能力。对于专业课学生和初学者来说,掌握这些知识点将对他们的学习和考试...
SQL 存储过程是数据库管理系统中的一个重要特性,它允许用户预先定义一组SQL语句并将其存储在数据库中,便于后续的调用和执行。...通过学习和实践,开发者可以更好地利用MySQL存储过程来解决实际问题。