Advertisement
Guest User

SQL IS BEAUTIFUL

a guest
Jan 16th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 1.29 KB | None | 0 0
  1. DROP PROCEDURE IF EXISTS sp;
  2. DELIMITER //
  3. CREATE PROCEDURE sp(LABELS_PER_ISSUE INT)
  4. BEGIN
  5. DECLARE MAX_LABEL INT DEFAULT 100000000;
  6. DECLARE x INT;
  7.  
  8. -- replace by real jira_issue table
  9. DROP TEMPORARY TABLE IF EXISTS issues;
  10. CREATE TEMPORARY TABLE IF NOT EXISTS issues  (
  11.   issueid INT
  12. );
  13.  
  14. INSERT INTO issues VALUES (1),(2),(3),(4),(5);
  15.  
  16. -- replace by real labels table
  17.  
  18. DROP TEMPORARY TABLE IF EXISTS labels;
  19. CREATE TEMPORARY TABLE IF NOT EXISTS labels  (
  20.   id INT,
  21.   issueid INT,
  22.   label VARCHAR(20)
  23. );
  24.  
  25. DROP TEMPORARY TABLE IF EXISTS timesTemp;
  26. CREATE TEMPORARY TABLE IF NOT EXISTS timesTemp  (
  27.   id INT
  28. );
  29.  
  30. SET x = 0;
  31.  
  32. WHILE x<LABELS_PER_ISSUE DO
  33. SET x=x+1;
  34. INSERT INTO timesTemp VALUES (x);
  35. END WHILE;
  36.  
  37. -- it should be corresponging to last number from seq id, we should increase seq id after this query
  38. SET @row_number = 10000;
  39. -- SET @row_number = (SELECT SEQ_ID FROM SEQUENCE_VALUE_ITEM WHERE SEQ_NAME = 'Label');
  40.  
  41.  
  42.  
  43. -- make inner join correct and align data with sequence ids.
  44. INSERT INTO label SELECT (@row_number:=@row_number+1), NULL, tbl.id, CAST(CAST(RAND() * MAX_LABEL as SIGNED) as CHAR(10))
  45. FROM (SELECT jiraissue.id FROM timesTemp INNER JOIN jiraissue ON 1=1) as tbl;
  46.  
  47. INSERT INTO SEQUENCE_VALUE_ITEM VALUES ('Label', @row_number);
  48.  
  49. END//
  50. DELIMITER ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement