MySQL数据库存储过程动态表建立(PREPARE)_MySQL
程序员文章站
2022-04-01 07:59:08
...
- PREPARE statement_name FROM sql_text /*定义*/
- EXECUTE statement_name [USING variable [,variable...]] /*执行预处理语句*/
- DEALLOCATE PREPARE statement_name /*删除定义*/
这是我项目当中用到的,用作参考使用:
DELIMITER $$DROP PROCEDURE IF EXISTS `gpsdata`.`sp_test`$$CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_test`( gpstime_ varchar(128), gpsname_ varchar(128), gpsinfo_ varchar(256))BEGINDECLARE tbname varchar(50) DEFAULT '0';DECLARE v_sql varchar(1024) DEFAULT '0';SET v_sql=CONCAT('select * from ', tbname ,' where gpsname = ',gpsname_,' order by gpstime desc limit 1');SET @lastdata = v_sql;PREPARE lastdata FROM @lastdata; EXECUTE lastdata;DEALLOCATE PREPARE lastdata; select v_sql;END$$DELIMITER ;
上一篇: 测试SQL语句查询