mysql函数编写

mysql中函数的编写如下:
create function functionName([parm type],[parm1 type],……)
returns type
begin
语句;
return 值;
end;
如上就是mysql函数的编写的模板。在函数中,不能使用select语句来打印数据,使用select来查询数据并且赋值给变量,这个是可以的。函数是要有返回值的。
在mysql中,函数可以使用在select中进行数据的处理。
当然,函数中可以定义各种类型的变量,比如bigint,longtext,varchar,int等等数据类型,也可以定义游标类型的数据。
在编写完mysql函数后,如果出现创建函数的报错
[Err] 1418 - This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you might want to use the less safe log_bin_trust_function_creators variable)
,需要执行如下语句:
set global log_bin_trust_function_creators=1;
造成这个问题的原因是主从设备的安全原因。

函数的例子:
create FUNCTION functionTest(p_con VARCHAR(400))
RETURNS VARCHAR(400)
BEGIN
DECLARE v_con VARCHAR(400);
set v_con = p_con;
SELECT p_con into v_con;
return v_con;
end;

select functionTest('baiduc');

猜你喜欢

转载自blog.51cto.com/xiaoshunzi/2397871