ホームページ >データベース >mysql チュートリアル >MySQL数据库存储过程动态表建立(PREPARE)_MySQL

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

WBOY
WBOYオリジナル
2016-06-01 13:12:041338ブラウズ
  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 ;
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。