· 8 years ago · Apr 13, 2018, 08:38 PM
1CREATE DEFINER = 'root'@'localhost' PROCEDURE `select_last`(
2 IN tname VARCHAR(32)
3 )
4 NOT DETERMINISTIC
5 CONTAINS SQL
6 SQL SECURITY DEFINER
7 COMMENT ''
8BEGIN
9
10 SET @query = CONCAT('DROP TEMPORARY TABLE IF EXISTS ', tname);
11
12 PREPARE drop_query FROM @query;
13 EXECUTE drop_query;
14 DEALLOCATE PREPARE drop_query;
15
16 SET @query = CONCAT('CREATE TEMPORARY TABLE ', tname,' (id INTEGER(11), firm_id INTEGER(11), title_ru VARCHAR(255), title_en VARCHAR(255), price FLOAT(9,3), price_type enum(\'ru\',\'us\',\'eu\',\'uk\'), image text, cat_id INTEGER(11), enabled tinyint(1))');
17
18 PREPARE create_query FROM @query;
19 EXECUTE create_query;
20 DEALLOCATE PREPARE create_query;
21
22 SET @query = CONCAT('INSERT INTO ',tname, ' SELECT si.id, si.firm_id, si.title_ru, si.title_en, si.price, si.price_type, si.image, si.cat_id, si.enabled FROM s_item si ORDER BY si.id DESC;');
23
24 PREPARE select_query FROM @query;
25 EXECUTE select_query;
26 DEALLOCATE PREPARE select_query;
27
28COMMIT;
29END;