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

MySQL / MariaDB TRIGGER

    トリガーを作成するときは、mysqlが指定された区切り文字内でトリガーブロックを明示的に実行するように、区切り文字を指定する必要があります。区切り文字が指定されていない場合、;に遭遇したとき トリガーステートメント内では、そのブロックまでコマンドを実行しようとするため、エラーが発生する可能性があります。

    トリガーを生成するためにユーザーインターフェイスツールを使用している場合は、PHPMyadminのように区切り文字を設定するオプションがあるかどうかを確認できます。

    CLIでは、トリガーに区切り文字が必要であり、次のようになります

    delimiter //
    
    create trigger Q_DUR_CALC before insert on TASK_Q_SWH
    for each row
    begin
     declare LCL_Q_DUR INTEGER;
     set LCL_Q_DUR = new.TQ_TASK_DUR - new.TQ_TASK_RUN_DUR;
     SET new.TQ_Q_DUR = LCL_Q_DUR;   
    end;//
    
    delimiter ;
    


    1. MySQL文字列関数(完全なリスト)

    2. JARファイルのクラスパスの設定

    3. MySqlの弱いエスケープ関数を見つけました。どのように悪用しますか?

    4. ストアドプロシージャの実行がスクリプトからのSQLクエリよりも速いのはなぜですか?