java如何得到mysql存储过程中查出的数据

上传人:ji****72 文档编号:37521195 上传时间:2018-04-17 格式:DOC 页数:8 大小:62KB
返回 下载 相关 举报
java如何得到mysql存储过程中查出的数据_第1页
第1页 / 共8页
java如何得到mysql存储过程中查出的数据_第2页
第2页 / 共8页
java如何得到mysql存储过程中查出的数据_第3页
第3页 / 共8页
java如何得到mysql存储过程中查出的数据_第4页
第4页 / 共8页
java如何得到mysql存储过程中查出的数据_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《java如何得到mysql存储过程中查出的数据》由会员分享,可在线阅读,更多相关《java如何得到mysql存储过程中查出的数据(8页珍藏版)》请在金锄头文库上搜索。

1、存储过程是一种存储在数据库中的程序(就像正规语言里的子程序一样) ,准确的来说, MySQL 支持的“routines(例程) ”有两种:一是我们说的存储过程, 二是在其他 SQL 语句 中可以返回值的函数(使用起来和 Mysql 预装载的函数一样,如 pi()) 。本文是为初学习 MySQL 存储过程的朋友写的,在本文中我们以在 MySQL 的 CLI(command line interface)中建立一个存储过程的示例开始,然后通过在 Java 程序中调用我们创建好的存 储过程,让读者对 MySQL 的存储过程有个大概的了解和入门。 一、创建 MySQL 存储过程示例 下面是具体的创建过

2、程: view plaincopy to clipboardprint? -启动 MySQL 服务 C:/Documents and Settings/Zengming Zhangnet start mysqlMySQL 服务已经启动成功。-登录 MySQL 控制台 C:/Documents and Settings/Zengming Zhangmysql -u root -p Enter password: * Welcome to the MySQL monitor. Commands end with ; or /g. Your MySQL connection id is 1 to s

3、erver version: 5.0.18-ntType help; or /h for help. Type /c to clear the buffer.-选择数据库 mysql use test; Database changed-创建示例用表 mysql create table zzm( - id int primary key auto_increment, - name varchar(10) - ); Query OK, 0 rows affected (0.20 sec) mysql insert into zzm(name) values(zhang); Query OK,

4、 1 row affected (0.08 sec)mysql insert into zzm(name) values(zeng); Query OK, 1 row affected (0.05 sec)mysql insert into zzm(name) values(ming); Query OK, 1 row affected (0.05 sec)mysql select * from zzm; +-+-+ | id | name |+-+-+ | 1 | zhang | | 2 | zeng | | 3 | ming | +-+-+ 3 rows in set (0.00 sec)

5、-更改命令结束符(因为在 procedure 中经常要用到默认的命令结束符-分号(;) -所以在创建 procedure 的时候需要定义新的结束符以说明创建 procedure 的命令结束) -这里将结束符号改成美元符号-$ mysql delimiter $-创建存储过程 p3 -此存储过程的过程名是 p3,该过程包含两个参数, -一个是输入类型的(以 IN 标示) ,参数名是 nameid,类型是 int, -一个是输出类型的(以 OUT 标示) ,参数名是 person_name,类型是 varchar(10) -此存储过程的作用是查询出 zzm 表的全部内容,会输出结果集(data s

6、et) ,然后 -再查询表中记录的 ID 是 nameid 的字段 name,将其输出到第二个输出类型的参数里面, 这个查询 -不会输出结果集。 mysql create procedure p3(IN nameid int, OUT person_name varchar(10) - begin - select * from test.zzm; - select zzm.name into person_name from test.zzm where zzm.id = nameid; - end - $ Query OK, 0 rows affected (0.00 sec)-创建完成,

7、查看数据库中所有已经创建的存储过程 mysql show procedure status $ +-+-+-+-+-+-+-+- -+ | Db | Name | Type | Definer | Modified | Created | Security_type | Comment | +-+-+-+-+-+-+-+- -+ | test | p3 | PROCEDURE | rootlocalhost | 2009-08-18 16:40:21 | 2009-08-18 16:40:21 | DEFINER | | +-+-+-+-+-+-+-+- -+ 1 row in set (0.

8、02 sec)-调用存储过程 mysql call p3(3,name) $ +-+-+| id | name | +-+-+ | 1 | zhang | | 2 | zeng | | 3 | ming | +-+-+ 3 rows in set (0.00 sec)Query OK, 0 rows affected (0.00 sec)mysql select name $ +-+ | name | +-+ | ming | +-+ 1 row in set (0.00 sec) -启动 MySQL 服务 C:/Documents and Settings/Zengming Zhangnet

9、 start mysql MySQL 服务已经启动成功。 -登录 MySQL 控制台 C:/Documents and Settings/Zengming Zhangmysql -u root -p Enter password: * Welcome to the MySQL monitor. Commands end with ; or /g. Your MySQL connection id is 1 to server version: 5.0.18-nt Type help; or /h for help. Type /c to clear the buffer. -选择数据库 mys

10、ql use test; Database changed -创建示例用表 mysql create table zzm( - id int primary key auto_increment, - name varchar(10) - ); Query OK, 0 rows affected (0.20 sec) mysql insert into zzm(name) values(zhang); Query OK, 1 row affected (0.08 sec) mysql insert into zzm(name) values(zeng); Query OK, 1 row aff

11、ected (0.05 sec) mysql insert into zzm(name) values(ming); Query OK, 1 row affected (0.05 sec) mysql select * from zzm; +-+-+ | id | name |+-+-+ | 1 | zhang | | 2 | zeng | | 3 | ming | +-+-+ 3 rows in set (0.00 sec) -更改命令结束符(因为在 procedure 中经常要用到默认的命令结束符-分号(;) -所以在创建 procedure 的时候需要定义新的结束符以说明创建 proce

12、dure 的命令结束) -这里将结束符号改成美元符号-$ mysql delimiter $ -创建存储过程 p3 -此存储过程的过程名是 p3,该过程包含两个参数, -一个是输入类型的(以 IN 标示) ,参数名是 nameid,类型是 int, -一个是输出类型的(以 OUT 标示) ,参数名是 person_name,类型是 varchar(10) -此存储过程的作用是查询出 zzm 表的全部内容,会输出结果集(data set) ,然后 -再查询表中记录的 ID 是 nameid 的字段 name,将其输出到第二个输出类型的参数里面, 这个查询 -不会输出结果集。 mysql crea

13、te procedure p3(IN nameid int, OUT person_name varchar(10) - begin - select * from test.zzm; - select zzm.name into person_name from test.zzm where zzm.id = nameid; - end - $ Query OK, 0 rows affected (0.00 sec) -创建完成,查看数据库中所有已经创建的存储过程 mysql show procedure status $ +-+-+-+-+-+-+-+- -+ | Db | Name | Type | Definer | Modified | Created | Security_type | Comment | +-+-+-+-+-+-+-+- -+ | test | p3 | PROCEDURE | rootlocalhost | 2009-08-18 16:40:21 | 2009-08-18 16:40:21 | DEFINER | | +-+-+-+-+-+-+-+- -+ 1 row in set (0.02 sec) -调用存储过程 mysql call p3(3,name) $ +-+-+ | id | name | +-+-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号