-1

何かがテーブル1に挿入されたときに空になるはずのcontractnumの値を更新しようとしています。常に一意の番号である field2 に更新したいと思います。

DELIMITER //
CREATE TRIGGER database1.Update_Contract_Num
BEFORE INSERT ON database1.table1
FOR EACH ROW
BEGIN
/*Update contract Num when new doc gets inserted and copy the contents of field1*/
IF contractnum IS NULL THEN
SET CONTRACTNUM = field2
END IF
END//
DELIMITER ;
4

1 に答える 1

0

構文上の問題がいくつかあります。

  1. NEW挿入される行の列値を参照するには、プレフィックスを使用する必要があります
  2. 一部の行をセミコロンで終了する必要があります

これは、必要なものに近いはずです。

DELIMITER //
CREATE TRIGGER database1.Update_Contract_Num
BEFORE INSERT ON database1.table1
FOR EACH ROW
BEGIN
  /*Update contract Num when new doc gets inserted and copy the contents of field1*/
  IF NEW.contractnum IS NULL THEN
    SET NEW.CONTRACTNUM = NEW.field2;
  END IF;
END //
DELIMITER ;
于 2013-02-27T19:37:12.073 に答える