示例页面

mysql-自定义函数

0、结构

delimiter $$ -- 修改语句结束符,mysql 默认的结束符是分号,为了在函数体中避免遇到分号就结束,重新定义结束符
create function 函数名(形参) returns 返回值类型
begin
// 函数体
return 返回值数据;
end $$
delimiter ; -- 将语句结束符修改回来

1、变量

局部变量:在函数体中通过declare进行声明,declare [变量名] [变量类型],局部变量可以使用set赋值或者使用into关键字。

用户变量:

报错代码:

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 = 0;
delimiter $$
drop function if exists genPerson$$
create function genPerson(name varchar(20)) returns varchar(50)
begin
declare str varchar(50) default '';
set @tablename=name;
set str = concat('crate table', @tablename, '(id int, name varchar(20));');
return str;
end $$
delimiter;
posted @   没有风格的Wang  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示