-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdictum.sql
46 lines (38 loc) · 984 Bytes
/
dictum.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
CREATE TABLE IF NOT EXISTS `dict` (
`word` varchar(255) NOT NULL,
`description` TEXT NOT NULL,
PRIMARY KEY (`word`)
) CHARSET=utf8;
DELIMITER //
DROP PROCEDURE IF EXISTS GetDict;
CREATE PROCEDURE GetDict()
SQL SECURITY DEFINER
BEGIN
SELECT word, `description` FROM dict ORDER BY word;
END //
DELIMITER ;
DELIMITER //
DROP PROCEDURE IF EXISTS GetWord;
CREATE PROCEDURE GetWord(_word VARCHAR(255))
SQL SECURITY DEFINER
BEGIN
SELECT description FROM dict WHERE word = _word;
END //
DELIMITER ;
DELIMITER //
DROP PROCEDURE IF EXISTS SetWord;
CREATE PROCEDURE SetWord(_word VARCHAR(255), _description TEXT)
SQL SECURITY DEFINER
BEGIN
INSERT INTO dict (word, `description`) VALUES (_word, _description)
ON DUPLICATE KEY UPDATE `description` = VALUES(description);
END //
DELIMITER ;
DELIMITER //
DROP PROCEDURE IF EXISTS DeleteWord;
CREATE PROCEDURE DeleteWord(_word VARCHAR(255))
SQL SECURITY DEFINER
BEGIN
DELETE FROM dict WHERE word = _word;
END //
DELIMITER ;