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