MySQL创建存储过程

存储过程和函数的区别参考链接:

http://www.cnblogs.com/lengbingshy/archive/2010/02/25/1673476.html

创建存储过程:

DROP PROCEDURE mypro;
CREATE procedure mypro (sid INT,OUT sCount INT)
BEGIN

SELECT COUNT(*) INTO sCount from student where id = sid;
END

执行该存储过程:

CALL mypro(1,@c);
select @c;

创建函数:

DROP FUNCTION myfun;
CREATE FUNCTION myfun (sid INT)
RETURNS int
BEGIN
DECLARE sCount int;
SELECT COUNT(*) INTO sCount from student where id=sid;
RETURN sCount;
END

执行函数:
SELECT myfun(1)

时间: 2024-12-26 19:16:37

MySQL创建存储过程的相关文章

[转]MYSQL 创建存储过程

MySQL 存储过程是从 MySQL 5.0 开始增加的新功能.存储过程的优点有一箩筐.不过最主要的还是执行效率和SQL 代码封装.特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库时(例如 PHP),要组织很多 SQL 语句.特别是业务逻辑复杂的时候,一大堆的 SQL 和条件夹杂在 PHP 代码中,让人不寒而栗.现在有了 MySQL 存储过程,业务逻辑可以封装存储过程中,这样不仅容易维护,而且执行效率也高. 一.MySQL 创建存储过程 "pr_add" 是个简单的

iBatis调用存储过程以及MySQL创建存储过程

首先是MySQL中创建存储过程的SQL -- 列出所有的存储过程 SHOW PROCEDURE STATUS; -- 查看一个已存在的存储过程的创建语句,如果此存储过程不存在,会提示SQL错误(1305):PROCEDURE pro_init does not exist SHOW CREATE PROCEDURE pro_init; -- 创建存储过程 DROP PROCEDURE IF EXISTS pro_init; -- 删除一个已存在的存储过程 DELIMITER // -- 声明当前

mysql创建 存储过程 并通过java程序调用该存储过程

create table users_ning(id primary key auto_increment,pwd int); insert into users_ning values(id,1234); insert into users_ning values(id,12345); insert into users_ning values(id,12); insert into users_ning values(id,123); CREATE PROCEDURE login_ning(

mysql创建存储过程中的问题

1.在创建存储过程成功后,使用call 存储过程名执行时报错: Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT)错误. 解决方法:检查存储过程使用到的表格的编码方式,包括字段和表格本身.最后统一编码方式.在类型是属于字符.字符串这等类型的后面加上 CHARSET utf8 例: DELIMITER $$   USE `mall`$$   DROP PROCEDURE IF EXI

MySQL创建存储过程(CREATE PROCEDURE)

MySQL 存储过程是一些 SQL 语句的集合,比如有的时候我们可能需要一大串的 SQL 语句,或者说在编写 SQL 语句的过程中还需要设置一些变量的值,这个时候我们就完全有必要编写一个存储过程.下面我们来介绍一下如何创建一个存储过程. 基本语法 可以使用 CREATE PROCEDURE 语句创建存储过程. 语法格式如下: CREATE PROCEDURE <过程名> ( [过程参数[,…] ] ) <过程体>[过程参数[,…] ] 格式[ IN | OUT | INOUT ]

mysql 创建存储过程插入测试数据

做项目过程中遇到需要插入有序的测试数据,不想写php循环,网上找到方法,复习了一遍存储过程了哈哈.SQL语句参考自 https://stackoverflow.com/questions/26981901/mysql-insert-with-while-loop delimiter $$CREATE PROCEDURE myproc()BEGINDECLARE i int DEFAULT 9;WHILE i <= 1000 DOINSERT INTO test_tbl (test_url) VA

MYSQL中存储过程的创建,调用及语法

MySQL 存储过程是从 MySQL 5.0 开始增加的新功能.存储过程的优点有一箩筐.不过最主要的还是执行效率和SQL 代码封装.特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库时(例如 PHP),要组织很多 SQL 语句.特别是业务逻辑复杂的时候,一大堆的 SQL 和条件夹杂在 PHP 代码中,让人不寒而栗.现在有了 MySQL 存储过程,业务逻辑可以封装存储过程中,这样不仅容易维护,而且执行效率也高. 第一部分:创建一个简单的无参的存储过程 1 用mysql客户端登入

MySql中创建存储过程

MySQL 存储过程是从 MySQL 5.0 开始增加的新功能.存储过程的优点有一箩筐.不过最主要的还是执行效率和SQL 代码封装.特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库时(例如 PHP),要组织很多 SQL 语句.特别是业务逻辑复杂的时候,一大堆的 SQL 和条件夹杂在 PHP 代码中,让人不寒而栗.现在有了 MySQL 存储过程,业务逻辑可以封装存储过程中,这样不仅容易维护,而且执行效率也高. 一.MySQL 创建存储过程 "pr_add" 是个简单的

mysql创建定时执行存储过程任务

sql语法很多,是一门完整语言.这里仅仅实现一个功能,不做深入研究. 目标:定时更新表或者清空表. 案例:曾经做过定时清空位置信息表的任务.(然而,当时并未考虑服务器挂掉后的情况) 本次测试:每5s更新表字段+1 1.prepare 创建一个表: DROP TABLE IF EXISTS `test_sche`; CREATE TABLE `test_sche` ( `id` int(11) NOT NULL, `counts` int(11) DEFAULT NULL, PRIMARY KEY