刀刀网
您的当前位置:首页MySQL数据库存储过程动态表建立(PREPARE)_MySQL

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

来源:刀刀网


  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 ;
显示全文