zend-blog-3-backend
20 строк · 536.0 Байт
1CREATE PROCEDURE update_comments_count(IN topicID INT UNSIGNED)
2BEGIN
3DECLARE count_comments INT DEFAULT 0;
4
5SELECT COUNT(DISTINCT c1.id) INTO count_comments
6FROM
7comments AS c1,
8comments AS c2
9WHERE
10c1.post_id = topicID
11AND c2.post_id = topicID
12AND c1.tree_left_key <= c2.tree_left_key
13AND c1.tree_right_key >= c2.tree_right_key
14AND c2.deleted = 0;
15
16UPDATE `posts` SET `comments_count` = count_comments
17WHERE `posts`.`id` = topicID;
18
19SELECT count_comments;
20END
21