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

構文をトリガーし、IF ELSETHEN

    区切り文字を指定するのを忘れた可能性があります。ご覧のとおり、他にもいくつか変更を加えました。

    delimiter #
    
    create trigger VPLS_nodeB_before_ins_trig before insert on VPLS_nodeB
    for each row
    
    BEGIN
    DECLARE nb INT default 0;
    DECLARE nba INT default 0;
    
    SET NEW.VPLS_ID_NodeB = CONCAT('21100', LPAD(NEW.VPLS_ID_NodeB,4,0));
    SET nb = (SELECT COUNT(DISTINCT(VPLS_ID_aggregation)) FROM VPLS_nodeB WHERE id_ORT = NEW.id_ORT);
    
    IF(nb > 5) THEN
        SET nba = nb + 1;
    ELSE
        SET nba = nb;
    END IF;
    
    SET NEW.VPLS_ID_aggregation = CONCAT('21188', LPAD(NEW.id_ORT,2,0), LPAD(nba,2,0));
    
    END#
    
    delimiter ;
    



    1. C#、MySQLデータベースからdouble値を取得する際の問題

    2. データベースで継承をどのように表すことができますか?

    3. Laravel:MySQLクエリから単一の値を取得する

    4. Pythonスクリプトからのカーソル出力パラメータを使用してOracleストアドプロシージャを呼び出します