1.创建函数 mysql>delimiter // mysql>create function 函数名(参数1 参数1类型,...) returns 返回类型 >begin >return 返回值; >end >// mysql>select 函数名(参数1, 参数2, 。。。); >//
创建存数过程 建表 create table user( id mediumint(8) unsigned not null auto_increment, name char(15) not null default "", pass char(32) not null default "", note text not null, primary key (id) )engine=Innodb charset=utf8; insert into user(nsme, pass, note) values('sss','123', 'ok'); 存储过程 mysql>delimiter // mysql>create procedure proc_name (in parameter integer) mysql>begin mysql>if parameter=0 then mysql>select * from user order by id asc; mysql>else mysql>select * from user order by id desc; mysql>end if; mysql>end; mysql>// 执行: mysql>call proc_name(0); mysql>// 执行结果:
创建视图 create view my_view as select pass from user; 调用视图:select v.pass from my_view v; 执行结果:
注:
1.show procedure status; 显示数据库中所有存储的存储过程基本信息,包括所属数据库,存储过程名称,创建时间等
2.show create procedure sp_name 显示某一个存储过程的详细信息