Untitled
unknown
plain_text
2 years ago
1.4 kB
7
Indexable
CREATE PROCEDURE AddUserAndList(IN user_login VARCHAR(255), IN user_full_name VARCHAR(255), IN list_name VARCHAR(255), IN list_description VARCHAR(255))
BEGIN
DECLARE user_id INT;
DECLARE list_id INT;
-- Проверка существующего пользователя
SELECT iduser INTO user_id FROM users WHERE login = user_login;
-- Если пользователь не существует, добавляем
IF user_id IS NULL THEN
INSERT INTO users (login, full_name) VALUES (user_login, user_full_name);
SET user_id = LAST_INSERT_ID();
END IF;
-- Проверка существующей рассылки
IF list_name IS NOT NULL AND list_description IS NOT NULL THEN
SELECT idlist INTO list_id FROM maillist WHERE list_name = list_name;
-- Если рассылка не существует, добавляем
IF list_id IS NULL THEN
INSERT INTO maillist (list_name, description) VALUES (list_name, list_description);
SET list_id = LAST_INSERT_ID();
END IF;
-- Добавление информации о пользователе и рассылке в таблицу list_user
INSERT INTO list_user (id_user, id_list) VALUES (user_id, list_id);
END IF;
END //Editor is loading...
Leave a Comment