MySQL procedure & function 存储过程 & 存储函数
- 结合占位符
drop PROCEDURE if EXISTS test12; -- 使用drop 来删除存储过程或者表 create PROCEDURE test12() -- 创建存储过程 命名为test12 BEGIN set @tableNames = CONCAT('background'); -- '@' 先在用户变量中保存值然后在以后引用它 set @beanId = 6; set @sqlStr = CONCAT('select * from ' ,@tableNames , ' where background_id = ?' ); -- 拼接查询总记录的SQL语句 prepare stmt from @sqlStr; -- 预定义一个语句,并将它赋给 stmt execute stmt using @beanId; -- 执行语句 deallocate prepare stmt; -- 要释放一个预定义语句的资源 END; call test12(); -- 存储过程的执行测试
-
CREATE DEFINER=`root`@`%` PROCEDURE `loop3`(table_name1 varchar(44),table_name2 varchar(44)) BEGIN #Routine body goes here... set @tableName1=concat(table_name1); set @tableName2=concat(table_name2); set @sqlStr=concat('select * from ',@tableName1,' limit 5'); prepare stmt from @sqlStr; execute stmt; -- deallocate prepare stmt; set @sqlStr_=concat('select * from ',@tableName2,' limit 5'); prepare stmt from @sqlStr_; execute stmt; deallocate prepare stmt; END
-
create PROCEDURE tests(tableName varchar(20)) -- 创建存储过程 命名为tests BEGIN -- 存储过程的开始 set @tableNames = CONCAT(tableName); -- @先在用户变量中保存值然后在以后引用它 set @sqlStr = CONCAT('select * from ', @tableNames); -- 拼接查询总记录的SQL语句 prepare stmt from @sqlStr; -- 预定义一个语句,并将它赋给 stmt execute stmt ; -- 执行语句 deallocate prepare stmt;-- 要释放一个预定义语句的资源 END; -- 存储过程的结束
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律