Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted by yammy ( 19 years ago )
DROP PROCEDURE if EXISTS foo;//
CREATE PROCEDURE foo()
BEGIN
DECLARE vtable VARCHAR(255);
DECLARE done INT DEFAULT 0;
DECLARE id INT;
DECLARE quant VARCHAR(255);
DECLARE user_login VARCHAR(60);
DECLARE c1 CURSOR FOR SHOW TABLES LIKE 'wp\_%\_comments';
DECLARE CONTINUE HANDLER FOR sqlstate '02000' SET done = 1;
DROP TABLE if EXISTS mytemp;
CREATE TEMPORARY TABLE mytemp (id INT, quant INT, user_login VARCHAR(60) );
OPEN c1;
REPEAT
FETCH c1 INTO vtable;
IF NOT done THEN
-- SELECT vtable AS tabela;
-- SET @user_id = SUBSTRING_INDEX(SUBSTRING('", vtable ,"', INSTR('", vtable, "', '_') + 1), '_', 1);
SET @user_id = SUBSTRING( vtable , 4 ) + 0;
SELECT @user_id;
SET @sql = "SELECT user_login FROM wp_users WHERE id = @user_id";
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = CONCAT( "INSERT INTO mytemp VALUES ( @user_id, (SELECT count(*) FROM ", vtable, "), '' )" );
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END IF;
UNTIL done END REPEAT;
CLOSE c1;
SELECT * FROM mytemp ORDER BY quant DESC LIMIT 10;
END
//
Revise this Paste