A trigger tudni, hogy melyik mezők frissülnek

Ott előtt Insert ravaszt egy asztalhoz. Meg kell vizsgálni, hogy a field1 mező nem változott.

Hogyan kell helyesen csinálni?

Megpróbálom ezt:
new.field1 <> old.field1.







Ez a kialakítás jól működik, de ha a régi vagy az új értéke null, akkor nem akar.

> De ha a régi vagy az új értéke null, akkor nem akar.

Hmm. És ellenőrizze ezt a feltételt kiváltja a vallás nem engedi?

Milyen más vallás?
Részletesebben:
1.
# XA0; // new.filed1 = "hello";
# XA0; // old.filed1 = "hosszú";
# XA0, ha (new.field1 <> old.field1), majd
# XA0; kezdődik
# XA0; # XA0; // ebben az esetben esik ebbe a blokkba
# XA0; end

2.
# XA0; // new.filed1 = "hello";
# XA0; // old.filed1 = null;
# XA0, ha (new.field1 <> old.field1), majd
# XA0; kezdődik
# XA0; # XA0; // ebben az esetben nem tartoznak ide.
# XA0; # XA0; // kell lennie
# XA0; end

3.
# XA0; // new.filed1 = null;
# XA0; // old.filed1 = "hosszú";






# XA0, ha (new.field1 <> old.field1), majd
# XA0; kezdődik
# XA0; # XA0; // ebben az esetben is, nem találkoznak itt.
# XA0; # XA0; // kell lennie
# XA0; end

Gyanítom, nem lehet összehasonlítani a null értéket bármilyen típusú, mint null ellenőrzést végzünk a szerkezet null.

Úgyhogy azt kérdezi, hogy tudod, hogy a mező megváltozott érték, nem számít, mi volt, és mi volt (I null-érték).

Ez körülbelül ellenőrzése null:
# XA0, ha (new.field1 <> old.field1) vagy
((New.field1 null és nem old.field1 nulla), vagy
(Old.field1 null és nem new.field1 nulla)), majd
kezdődik

[2] Sour # XA0; (18.02.05 11,25)
> Gyanítom nem lehet összehasonlítani a null értéket bármilyen típusú, mint null ellenőrzést végzünk a szerkezet null.

De lehetséges, hogy ellenőrizze, hogy a NULL.
Ha (old.field nulla) és (new.field nem Null) akkor.

1)
ha
# XA0 (new.field1 IS NULL) AND NOT (old.field1 IS NULL) OR
# XA0; NOT (new.field1 IS NULL) AND (old.field1 IS NULL) OR
# XA0; (new.field1 <> old.field1)
majd
# XA0; megváltozott

2)
ha
# XA0; NOT (
# XA0; # XA0 (new.field1 IS NULL) AND (old.field1 IS NULL) OR
# XA0; # XA0; (new.field1 = old.field1)
# XA0;)
majd
# XA0; megváltozott

és ha, mint ez?
if ((összeolvadnak (old.naim, "- 1"))<>(Összeolvadnak (new.naum, "- 1"))), majd




Kapcsolódó cikkek