欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySQL数据库存储过程动态表建立(PREPARE)_MySQL

程序员文章站 2022-04-01 07:59:08
...
  1. PREPARE statement_name FROM sql_text /*定义*/
  2. EXECUTE statement_name [USING variable [,variable...]] /*执行预处理语句*/
  3. 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 ;