0

テーブルの更新後に実行されるトリガーがテーブルの 1 つにあり、更新された ID 値のフィールドの値が true であるかどうかを確認します。

DELIMITER $$
CREATE
TRIGGER users_lookups
AFTER UPDATE ON UsersValidations
FOR EACH ROW
BEGIN
SELECT * FROM UsersValidations where id=New.id;
/* MY SCENARIO 
{   HOW to do this portion

  if(UsersValidations.value1 =="true" and UsersValidations.value2=="true" and UsersValidations.value3=="true")
    {
         update table2 set myvalue="true" where id=New.id;
    }
    else
    {
         update table2 set myvalue="false" where id=New.id;
    }

}*/

END$$
4

1 に答える 1

1

トリガーは操作対象の行の値を既に認識しているため、テーブルをクエリする必要はありません。トリガーによって提供される New コンストラクトを使用するだけです。

これはトリガーの更新バージョンですが、このコンピューターには mysql がないため、構文を検証できません。この種の疑似コードを考えてみましょう。

DELIMITER $$
CREATE
TRIGGER users_lookups
AFTER UPDATE ON UsersValidations
FOR EACH ROW
BEGIN

  if(New.value1 =="true" and New.value2=="true" and New.value3=="true")
    {
         update table2 set myvalue="true" where id=New.id;
    }
    else
    {
         update table2 set myvalue="false" where id=New.id;
    }


END$$
于 2012-06-14T13:09:09.760 に答える