首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

mysql存储过程中truncate失效,该如何解决

2012-03-28 
mysql存储过程中truncate失效SQL codedelimiter //CREATE PROCEDURE sp_power()begindeclare l_id bigint(

mysql存储过程中truncate失效

SQL code
delimiter //CREATE PROCEDURE sp_power()begin    declare l_id bigint(20);    declare l_power smallint(6);    declare no_more_device int default 0;        declare power_csr CURSOR FOR         SELECT dev_id,power_stat FROM device;            DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_device=1;     SET no_more_device = 0;        create table if not exists stat_power(dev_id bigint(20),dev_power smallint(6));    truncate table stat_power;        open power_csr;    dev_loop:repeat        fetch power_csr into l_id,l_power;        if no_more_device then             leave dev_loop;        end if;                if l_power < 11 then            insert into stat_power values(l_id,l_power);        end if;    until no_more_device    end repeat dev_loop;    close power_csr;    set no_more_device = 0;end //delimiter ;


以上是我的存储过程,但每次调用时stat_power表并没有清空,而是在原来的表里增加了这次执行结果的内容
请问应该怎么解决?

[解决办法]
有无提示

truncate table stat_power;
select * from stat_power;
什么结果
[解决办法]
数据应该是清除了。估计是你后面的程序问题。
建议给出你的测试用例,想办法让别人可以在自己的机器上模拟你的问题。


建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html

热点排行