sql >> データベース >  >> RDS >> Mysql

変数MySQLトリガーを宣言する

    すべてのDECLAREが一番上にある必要があります。すなわち

    delimiter //
    
    CREATE TRIGGER pgl_new_user 
    AFTER INSERT ON users FOR EACH ROW
    BEGIN
        DECLARE m_user_team_id integer;
        DECLARE m_projects_id integer;
        DECLARE cur CURSOR FOR SELECT project_id FROM user_team_project_relationships WHERE user_team_id = m_user_team_id;
    
        SET @m_user_team_id := (SELECT id FROM user_teams WHERE name = "pgl_reporters");
    
        OPEN cur;
            ins_loop: LOOP
                FETCH cur INTO m_projects_id;
                IF done THEN
                    LEAVE ins_loop;
                END IF;
                INSERT INTO users_projects (user_id, project_id, created_at, updated_at, project_access) 
                VALUES (NEW.id, m_projects_id, now(), now(), 20);
            END LOOP;
        CLOSE cur;
    END//
    


    1. SQL Server(T-SQL)でのCURRENT_TIMESTAMPの例

    2. MariaDBでのWEIGHT_STRING()のしくみ

    3. Microsoft Accessの10の最高の機能は何ですか?

    4. PHPを使用してmysqlから値を読み取るにはどうすればよいですか?