MySQL_函数的创建以及使用

查看是否开启了创建函数的功能
SHOW VARIABLES LIKE '%fun%';
如果为off需要开启
SET GLOBAL log_bin_trust_function_creators=1;
创建函数
-- RETURNS
CREATE FUNCTION fun_add(a INT,b INT)
RETURNS INT
BEGIN
	RETURN a+b;
END;
$;
调用函数
SELECT fun_add(3,4);
查看函数
show create function fun_add;
删除函数
DROP FUNCTION fun_add;
CREATE TABLE userinfo(
username VARCHAR(20) NOT NULL DEFAULT '123',
userpwd VARCHAR(20) NOT NULL DEFAULT '123'
);
INSERT INTO userinfo VALUES('wxj','wxj123');
INSERT INTO userinfo VALUES('wxj1','wxj123');
INSERT INTO userinfo VALUES('wxj12','wxj123');
INSERT INTO userinfo VALUES('wxj123','wxj123');



创建登录查询函数
CREATE FUNCTION fun_log(name VARCHAR(20),pwd VARCHAR(20))
RETURNS VARCHAR(20)
BEGIN
DECLARE result INT DEFAULT 0;
SELECT COUNT(*) INTO result FROM userinfo WHERE username=name;
IF result=0 THEN
		RETURN 'username error';
END IF;
SELECT COUNT(*) INTO result FROM userinfo WHERE username=name && userpwd=pwd;
IF result = 0 THEN
		RETURN 'password error';
ELSE
		RETURN' log success';
END IF;
END;
$;

mysql> select fun_log('w22xj','wxj123');
+---------------------------+
| fun_log('w22xj','wxj123') |
+---------------------------+
| username error            |
+---------------------------+
1 row in set (0.00 sec)


mysql> select fun_log('wxj','wxj1213');
+--------------------------+
| fun_log('wxj','wxj1213') |
+--------------------------+
| password error           |
+--------------------------+
1 row in set (0.00 sec)


mysql> select fun_log('wxj','wxj123');
+-------------------------+
| fun_log('wxj','wxj123') |
+-------------------------+
|  log success            |
+-------------------------+
1 row in set (0.00 sec)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值