0
テーブルからダイナミックフィールドを検証する必要があります。例:Firebird dynamic Var新規および古い
CREATE TRIGGER BU_TPROYECTOS FOR TPROYECTOS
BEFORE UPDATE AS
DECLARE VARIABLE vCAMPO VARCHAR(64);
BEGIN
/*In then table "TCAMPOS" are the fields to validate*/
for Select CAMPO from TCAMPOS where TABLA = TPROYECTOS and ACTUALIZA = 'V' into :vCAMPO do
Begin
if (New.:vCAMPO <> Old.:vCampo) then
/*How i get dynamic New.Field1, New.Field2 on query return*/
End;
END ;
質問:私は上記のコードで「クエリが返すフィールドの名前」をどのように置くことができますか。
すなわちクエリは私にフィールド1とフィールド5を返した場合、私はトリガをかけることになり
if (New.Field1 < > Old.Field1) or (New.Field5 < > Old.Field5) then
あなたの質問に取り組む必要があります。私はそれが本当に質問であるかどうかは分かりません。あなたがしたいことを説明してください。 –
[良い質問をするにはどうすればいいですか] – buhtz
変数には古い値と新しい値はありません。現在のところ、それらの価値は1つだけです。 "old_vcampo"と "new_vcampo"変数を宣言し、それらの変数で処理することができます。 –