· 8 years ago · Jun 12, 2018, 02:46 AM
1CREATE TABLE `s_firm` (
2 `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
3 `shop_id` int(10) unsigned DEFAULT NULL,
4 `name` varchar(100) DEFAULT NULL,
5 `title_ru` varchar(255) DEFAULT NULL,
6 `title_en` varchar(255) DEFAULT NULL,
7 `description_ru` text,
8 `description_en` text,
9 `image` text,
10 `order` float(9,3) DEFAULT '0.000',
11 `enabled` tinyint(1) DEFAULT '1',
12 `time` varchar(15) DEFAULT NULL,
13 `timee` varchar(15) DEFAULT NULL,
14 PRIMARY KEY (`id`),
15 UNIQUE KEY `id` (`id`)
16) ENGINE=InnoDB AUTO_INCREMENT=194 DEFAULT CHARSET=utf8;
17
18
19CREATE DEFINER = 'root'@'localhost' PROCEDURE `select_last`(
20 IN tname VARCHAR(32)
21 )
22 NOT DETERMINISTIC
23 CONTAINS SQL
24 SQL SECURITY DEFINER
25 COMMENT ''
26BEGIN
27
28 SET @query = CONCAT('DROP TEMPORARY TABLE IF EXISTS ', tname);
29
30 PREPARE drop_query FROM @query;
31 EXECUTE drop_query;
32 DEALLOCATE PREPARE drop_query;
33
34 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))');
35
36 PREPARE create_query FROM @query;
37 EXECUTE create_query;
38 DEALLOCATE PREPARE create_query;
39
40 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;');
41
42 PREPARE select_query FROM @query;
43 EXECUTE select_query;
44 DEALLOCATE PREPARE select_query;
45
46COMMIT;
47END;