[MYSQL]函數應用11/9
来源:互联网 发布:dnf频繁网络连接中断 编辑:程序博客网 时间:2024/05/10 01:11
1.用if...then...elseif...
DELIMITER $$
DROP FUNCTION IF EXISTS `demodb`.`sf1` $$
CREATE FUNCTION `sf1`(pid VARCHAR(10)) RETURNS varchar(100)
BEGIN
DECLARE strsql varchar(100);
if pid="1" then set strsql= 'select * from tablea';
elseif pid="2" then set strsql= 'select * from tableb' ;
else set strsql= 'select * from tablec' ;
end if ;
return strsql;
END $$
DELIMITER ;
2.用case...when...then...
DELIMITER $$
DROP FUNCTION IF EXISTS `demodb`.`sf2` $$
CREATE FUNCTION `sf2`(pid VARCHAR(10)) RETURNS varchar(100)
BEGIN
DECLARE strsql varchar(100);
case pid
when "1" then set strsql= 'select * from tablea';
when "2" then set strsql= 'select * from tableb' ;
else set strsql= 'select * from tablec' ;
end case ;
return strsql;
END $$
DELIMITER ;
3.存儲過程中調用函數
DELIMITER $$
DROP PROCEDURE IF EXISTS `jmcndb`.`sp7` $$
CREATE PROCEDURE `sp7`(IN pid VARCHAR(10))
BEGIN
select sf1(pid) into @sql;
prepare stmt from @sql;
execute stmt ;
END $$
DELIMITER ;
p.s.sf1(pid)即為1的函數
4.函數的查詢
show function status;
show create function sf1;
- [MYSQL]函數應用11/9
- [MYSQL]視圖應用11/9
- [MYSQL]存儲過程應用(2)11/9
- [MYSQL]存儲過程(3)11/9
- MySql(11)------mysql函数大全
- [MYSQL]取表前一半資料11/9
- mysql笔记-- mysql命令札记11 --MySql 连接
- MYSQL 教程:§9, MYSQL表类型
- MySQL学习笔记9:MySQL存储引擎
- MySQL基础教程9-Mysql数据表查看操作
- MySQL必知必会-11MySQL子查询
- MySQL基础教程11-Mysql删除数据表操作
- 9,mysql触发器
- mysql学9-优化
- mysql 高可用9
- mysql 5.7.9安装
- MySQL数据库(9)
- (9)Mysql存储引擎
- 流氓软件,你流氓,我也流氓
- 【转载】SharpReader阅读器使用手冊(博客)
- 总结面试时没有回答上的设置内存对齐方式问题
- 博客开张!好好学习
- 小试cglib
- [MYSQL]函數應用11/9
- 农历中天干地支的计算【C代码】
- 五﹑博客周刊•推荐Blog圈子
- 【转载】RSS 学习心得 、基础
- .net传值 问题
- 用HttpWebRequest代替WebClient解决POST超时问题
- 关于采购接收问题
- asp.net页面传值的方法---转载
- 使用cglib的错误