すべてのデータを大文字で挿入する必要があります。私は Oracle データベースを使用しており、その作業を実行できるトリガーを作成しました。問題は、:NEW をオーバーライドできるかどうかわからないことです。
これは私のコードです。
CREATE OR REPLACE TRIGGER my_trigger
BEFORE INSERT OR UPDATE ON MY_TABLE
FOR EACH ROW
DECLARE
CURSOR fields IS
SELECT COLUMN_NAME FROM user_tab_columns WHERE table_name='MY_TABLE';
field user_tab_columns%ROWTYPE;
BEGIN
FOR field IN fields LOOP
DECLARE
theField VARCHAR2(100) := field.COLUMN_NAME;
newValue NVARCHAR2(1000) := :NEW."MY_FIELD";
BEGIN
:NEW."MY_FIELD" := UPPER(nValor);
END;
END LOOP;
END;
/
これはフィールド「MY_FIELD」で機能しますが、代わりに変数「theField」を使用する必要があります。そうすれば、テーブル内のすべてのフィールドを置き換えることができると思います。
誰かが私を助けてくれるか、別の方法を提案してくれることを願っています。
ありがとうございました。