Advertisement
Guest User

Untitled

a guest
Jan 2nd, 2013
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. DELIMITER $$
  2. DROP PROCEDURE IF EXISTS `test1`.`get_partition_info` $$
  3. CREATE PROCEDURE `test1`.`get_partition_info` (tb VARCHAR(64))
  4. BLOCK1:BEGIN
  5. DECLARE loop0_eof INT DEFAULT FALSE;
  6. DECLARE tmp_title VARCHAR(200);
  7. DECLARE date_part DATE;
  8. DECLARE cur0 CURSOR FOR SELECT DISTINCT(TableName) FROM metadataTable;
  9. DECLARE CONTINUE HANDLER FOR NOT FOUND SET loop0_eof = TRUE;
  10.  
  11. OPEN cur0;
  12. loop0: LOOP
  13. FETCH cur0 INTO tmp_title;
  14.  
  15. IF loop0_eof THEN
  16. CLOSE cur0;
  17. LEAVE loop0;
  18. END IF;
  19.  
  20. BLOCK2: BEGIN
  21. DECLARE loop1_eof INT DEFAULT FALSE;
  22.  
  23. DECLARE cur1 CURSOR FOR SELECT PARTITION_DESCRIPTION
  24. FROM INFORMATION_SCHEMA.PARTITIONS
  25. WHERE TABLE_NAME=tmp_title AND TABLE_SCHEMA='test1';
  26. DECLARE CONTINUE HANDLER FOR NOT FOUND SET loop1_eof = TRUE;
  27.  
  28. OPEN cur1;
  29. loop1: LOOP
  30. FETCH cur1 INTO date_part;
  31. SELECT max(id) from `test1`.tmp_title where CurrentDate < date_part;
  32. IF loop1_eof THEN
  33. CLOSE cur1;
  34. LEAVE loop1;
  35. END IF;
  36. END LOOP loop1;
  37. END BLOCK2;
  38. END LOOP loop0;
  39. END BLOCK1 $$
  40. DELIMITER ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement