MySQL如何建立存储过程

ccdjk 2006-05-17 11:24:47
不知道在MySQL建立存储过程的语法是怎么样的
比如有student表
----id----name----role----sex----age
---001-----zhu---guest----boy-----20
---002------li---guest----boy-----23
---003----zhao---admin---girl-----24

如何建个存储过程
(我采用InterBase数据库的形式描述)
存储过程主体为select max(age) from student where role = :输入参数 into :输出参数

谢谢大家了
...全文
187 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
hy2003fly 2006-05-19
  • 打赏
  • 举报
回复
mysql> create table student(id int not null auto_increment primary key,
-> name varchar(20),role varchar(20),sex varchar(4), age int );
Query OK, 0 rows affected (0.05 sec)

mysql> insert into student values(1,'zhu','guest','boy',20),(2,'li','guest','boy
',23),(3,'zhao','admin','girl',24);
Query OK, 3 rows affected (0.02 sec)
Records: 3 Duplicates: 0 Warnings: 0

mysql> select * from student;
+----+------+-------+------+------+
| id | name | role | sex | age |
+----+------+-------+------+------+
| 1 | zhu | guest | boy | 20 |
| 2 | li | guest | boy | 23 |
| 3 | zhao | admin | girl | 24 |
+----+------+-------+------+------+
3 rows in set (0.00 sec)

mysql> delimiter //

mysql> create procedure tt(in myrole varchar(10),out a int)
-> begin
-> select max(age) from student where role=myrole;
-> end
-> //
Query OK, 0 rows affected (0.00 sec)

mysql> call tt('guest',@a)//
+----------+
| max(age) |
+----------+
| 23 |
+----------+
1 row in set (0.00 sec)

Query OK, 0 rows affected (0.00 sec)
ccdjk 2006-05-18
  • 打赏
  • 举报
回复
顶顶

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧