bitsCN.com
MYSQL入门学习之十二:存储过程的基本操作
相关链接:
MYSQL入门学习之一:基本操作
http:///database/201212/173868.html
MYSQL入门学习之二:使用正则表达式搜索
http:///database/201212/173869.html
MYSQL入门学习之三:全文本搜索
http:///database/201212/173873.html
MYSQL入门学习之四:MYSQL的数据类型
http:///database/201212/175536.html
MYSQL入门学习之五:MYSQL的字符集
http:///database/201212/175541.html
MYSQL入门学习之六:MYSQL的运算符
http:///database/201212/175862.html
MYSQL入门学习之七:MYSQL常用函数
http:///database/201212/175864.html
MYSQL入门学习之八:数据库及表的基本操作
http:///database/201212/175867.html
MYSQL入门学习之九:索引的简单操作
http:///database/201212/176772.html
MYSQL入门学习之十:视图的基本操作
http:///database/201212/176775.html
MYSQL入门学习之十一:触发器的基本操作
http:///database/201212/176781.html
存储过程简单来说,就是为以后的使用而保存的一条或多条MySQL语句的集合。可将其视为批文件,虽然它们的作用不仅限于批处理。
使用存储过程需要MySQL5及以后的版本支持。
一、为什么要使用存储过程
通过把处理封闭在容易使用的单元中,简化复杂的操作;
将一系列处理步骤放到同一存储过程中,保证了数据的完整性和操作的安全性;
简化对变更的管理;
提高性能。使用存储过程比使用单独的SQL语句要快;
存在一些只能用在单个请求中的MySQL元素和特性,存储过程可以使用它们来编写功能更强更灵活的代码;
二、基本操作
1、创建存储过程
CREATE PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic ...] routine_body
proc_parameter:
[ IN | OUT | INOUT ] param_name type
示例:
[sql]
mysql>create procedure sp_test()
->begin
-> select userid,username from newname where userid=215;
->end
->//
2、执行存储过程
CALL sp_name;
示例:
[sql]
mysql> call sp_test();
+--------+----------+
| userid | username |
+--------+----------+
| 215 | NULL |
+--------+----------+
3、删除存储过程
DROP PROCEDURE [ IF EXISTS ] sp_name;
示例:
[sql]
mysql> drop procedure if exists sp_test;
4、查看存储过程创建信息
SHOW CREATE PROCEDURE sp_name;
示例:
[sql]
mysql> show create procedure sp_test;
+-----------+----------+--------------------------------------------------------+----------------------+----------------------+--------------------+
| Procedure | sql_mode | Create Procedure | character_set_client | collation_connection | Database Collation |
+-----------+----------+--------------------------------------------------------+----------------------+----------------------+--------------------+
| sp_test | | CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_test`()
begin
select userid,username from newname where userid=215;
end | latin1 | latin1_swedish_ci | latin1_swedish_ci |
+-----------+----------+--------------------------------------------------------+----------------------+----------------------+--------------------+
5、查看存储过程状态
SHOW PROCEDURE STATUS [ LIKE '' ];
示例:
[sql]
mysql> show procedure status like 'sp_test';
+------+---------+-----------+----------------+---------------------+---------------------+---------------+---------+----------------------+-
| Db | Name | Type | Definer | Modified | Created | Security_type | Comment | character_set_client |
+------+---------+-----------+----------------+---------------------+---------------------+---------------+---------+----------------------+-
| test | sp_test | PROCEDURE | root@localhost | 2012-12-17 23:57:38 | 2012-12-17 23:57:38 | DEFINER | | latin1 |
+------+---------+-----------+----------------+---------------------+---------------------+---------------+---------+----------------------+-
6、使用存储过程参数
示例:
[sql]
mysql> delimiter //
mysql> create procedure sp_type_cnt(
-> IN in_type int,
-> OUT out_cnt int
-> )
-> begin
-> select count(*)
-> from newname
-> where type = in_type
-> into out_cnt;
-> end;
-> //
mysql> delimiter ;
mysql> call sp_type_cnt(0,@cnt);
mysql> select @cnt;
+------+
| @cnt |
+------+
| 159 |
+------+
bitsCN.com

discuz database error的解决办法有:1、检查数据库配置;2、确保数据库服务器正在运行;3、检查数据库表状态;4、备份数据;5、清理缓存;6、重新安装Discuz;7、检查服务器资源;8、联系Discuz官方支持。解决Discuz数据库错误需要从多个方面入手,逐步排查问题原因,并采取相应的措施进行修复。

IntelArrowLakeisexpectedtobebasedonthesameprocessorarchitectureasLunarLake,meaningthatIntel'sbrandnewLionCoveperformancecoreswillbecombinedwiththeeconomicalSkymontefficiencycores.WhileLunarLakeisonlyavailableasava

如何解决MySQL报错:无法删除数据库,数据库不存在概述:MySQL是一种常用的关系型数据库管理系统。在使用MySQL中,我们经常需要对数据库进行管理,包括创建数据库、删除数据库等操作。然而,在删除数据库时,有时候会遇到报错提示"Can'tdropdatabase'database_name';databasedoesn'texist",即无法删

Python作为一种高级编程语言,易于学习和使用。一旦需要编写Python程序时,无法避免地遇到语法错误,表达式语法错误是常见的一种。在本文中,我们将讨论如何解决Python的表达式语法错误。表达式语法错误是Python中最常见的错误之一,它通常是由于错误的使用语法或缺少必要组件而导致的。在Python中,表达式通常由数字、字符串、变量和运算符组成。最常见的

在C或C++中,逗号“,”有不同的用途。在这里我们将了解如何使用它们。逗号作为运算符。逗号运算符是一个二元运算符,它计算第一个操作数,然后丢弃结果,然后计算第二个操作数并返回值。逗号运算符在C或C++中的优先级最低。示例#include<stdio.h>intmain(){ intx=(50,60); inty=(func1(),func2());}这里60将被分配给x。对于下一条语句,将首先执行func1(

C语言中指数函数表达式的写法介绍及代码示例什么是指数函数指数函数是数学中一类常见的函数,可以表示为f(x)=a^x的形式,其中a为底数,x为指数。指数函数主要用于描述指数增长或指数衰减的情况。指数函数的代码示例在C语言中,我们可以使用数学库中的pow()函数来计算指数函数,下面是一个示例程序:#include

Java中的lambda表达式随着Java8的发布,lambda表达式成为了Java开发者们最为关注和讨论的话题之一。Lambda表达式可以简化Java程序员繁琐的书写方式,同时也能够提高程序的可读性和维护性。在本文中,我们将深入探讨Java中的lambda表达式,以及它们如何在Java代码中提供更简单、更直观的编程体验。

lambda表达式是一种匿名函数,它可以很方便地用于遍历集合。在这篇文章中,我们将介绍如何使用lambda表达式来遍历集合,并提供具体的代码示例。在Python中,lambda表达式的语法格式如下:lambda参数列表:表达式lambda表达式的参数列表可以包含一个或多个参数,用逗号隔开。表达式是lambda函数的返回值。下面我们来看一个简单的例子,假设


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

SublimeText3汉化版
中文版,非常好用

SublimeText3 Linux新版
SublimeText3 Linux最新版

记事本++7.3.1
好用且免费的代码编辑器

Dreamweaver CS6
视觉化网页开发工具