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

页面导航:首页 > 数据库 > Mysql > MySQL数据库存储过程动态表建立(PREPARE)

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

来源: 作者: 时间:2016-01-28 09:19 【

PREPARE statement_name FROM sql_text *定义* EXECUTE statement_name [USING variable [,variable ]] *执行预处理语句* DEALLOCATE PREPARE statement_name *删除定义*
  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)
    )
    BEGIN
    DECLARE 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 ;
    
Tags:

文章评论

最 近 更 新
热 点 排 行
Js与CSS工具
代码转换工具

<