Mam tabelę postgres z kolumną C
, która ma typ T
. Użytkownicy będą używać COPY
do wstawiania danych do tej tabeli. Jednak czasami próbują wstawić wartość C, która nie jest typu T, jednak mam funkcję postgres, która może przekonwertować wartość na T.Użycie wyzwalacza `PRZED WSTAWIĆ` do zmiany typu danych przychodzących w celu dopasowania do typu danych kolumny w PostgreSQL
Próbuję napisać wyzwalacz BEFORE INSERT
na stole, który będzie wywołaj tę funkcję na danych, aby upewnić się, że nie otrzymuję błędów typu wkładki. Jednak nie wydaje się działać, otrzymuję błędy podczas próby wstawienia danych, nawet z wyzwalaczem tam.
Zanim spędzę zbyt wiele czasu na badaniu, chcę się dowiedzieć, czy jest to możliwe. Czy mogę używać wyzwalaczy w ten sposób do zmiany typu przychodzących danych?
Chcę, aby to działało na PostgreSQL 9.3, ale zauważyłem błąd i nie działający wyzwalacz na PostgreSQL 9.5.
To nie jest dla mnie jasne, czy to będzie działać, ale mają próbowałeś [rules] (http://www.postgresql.org/docs/current/static/rules.html)? – Kevin