-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmisc.sql
57 lines (48 loc) · 1.69 KB
/
misc.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
// rmd table
CREATE TABLE `rmd` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`text` text,
`formats` varchar(255) DEFAULT NULL,
`ip_address` varchar(255) DEFAULT NULL,
`user` varchar(255) DEFAULT NULL,
`updated_on` datetime DEFAULT CURRENT_TIMESTAMP,
`is_archived` tinyint(1) DEFAULT NULL,
`notes` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8
// StoreNewRMD proc
// IN name varchar(255)
// IN text TEXT
// IN formats varchar(255)
// IN ip_address varchar(255)
// OUT id int
BEGIN
DECLARE id int DEFAULT 1;
DECLARE num int DEFAULT 0;
set num = (SELECT count(*) FROM `rmd` WHERE `ip_address` = ip_address);
if ( num > 0 ) THEN
set id = (SELECT `id` FROM `rmd` WHERE `ip_address` = ip_address);
UPDATE `rmd` SET `name`=name, `text`=text, `formats`=formats, `ip_address`=ip_address, `updated_on`=NOW() WHERE `ip_address` = ip_address;
ELSE
INSERT INTO `rmd` (`name`, `formats`, `text`, `ip_address`, `updated_on`) VALUES (name, formats, text, ip_address, NOW());
SELECT LAST_INSERT_ID() INTO id;
END IF;
SELECT id;
END
// StoreNewIPOnly proc
// IN ip_address varchar(255)
// OUT id int
BEGIN
DECLARE id int DEFAULT 1;
DECLARE num int DEFAULT 0;
set num = (SELECT count(*) FROM `rmd` WHERE `ip_address` = ip_address);
if ( num > 0 ) THEN
set id = (SELECT `id` FROM `rmd` WHERE `ip_address` = ip_address);
UPDATE `rmd` SET `updated_on`=NOW() WHERE `ip_address` = ip_address;
ELSE
INSERT INTO `rmd` (`ip_address`, `updated_on`) VALUES (ip_address, NOW());
SELECT LAST_INSERT_ID() INTO id;
END IF;
SELECT id;
END