厄,折腾了一下午,一直在报错,放这里,方便以后察看

DELIMITER $$

DROP PROCEDURE IF EXISTS `qqnum`.`delqqnum`$$

CREATE DEFINER=`admin`@`127.0.0.1PROCEDURE `delqqnum`(in qqnumber varchar(32))
BEGIN
    
DECLARE pos int;
    
DECLARE sqlStr varchar(500);
    
DECLARE tabStr varchar(500);
    
DECLARE sTabStr varchar(128);
    
    
SET @tabStr = 'qq200704,qq200708,qq200709';
    main:LOOP
    
SET @sTabStr = SUBSTRING_INDEX(@tabStr','1);
    
SET @sqlStr = CONCAT('DELETE FROM ',@sTabStr,' WHERE qqnumber=',qqnumber,';');
    
PREPARE sqlstmt from @sqlStr;
    
EXECUTE sqlstmt;
    
DEALLOCATE PREPARE sqlstmt;
    
SET @pos = LOCATE(',',@tabStr);
    
IF @pos = 0 THEN LEAVE main; END IF;
    
SET @tabStr = SUBSTR(@tabStr,@pos+1);
    
END LOOP main;
END$$

DELIMITER ;
 posted on 2007-09-02 17:09  月の祭司  阅读(2322)  评论(0编辑  收藏  举报