update_tbl_point
関数はおそらく次のようなことをしています:
new.last_update = current_timestamp;
ただし、new."Last_Update"
を使用する必要があります トリガー機能を修正してください。
PostgreSQLでは列名は小文字に正規化されますが(SQL標準では逆になります)、二重引用符で囲まれた識別子は大文字と小文字を区別します:
識別子を引用すると大文字と小文字が区別されますが、引用符で囲まれていない名前は常に小文字になります。たとえば、識別子FOO、foo、および「foo」はPostgreSQLでは同じと見なされますが、「Foo」と「FOO」はこれら3つとは異なります。 (PostgreSQLで引用符で囲まれていない名前を小文字に折りたたむことはSQL標準と互換性がありません。つまり、引用符で囲まれていない名前は大文字に折りたたむ必要があります。したがって、fooは、標準では「foo」ではなく「FOO」と同等である必要があります。ポータブルアプリケーションを作成する場合は、常に特定の名前を引用するか、決して引用しないことをお勧めします。)
したがって、これを行う場合:
create table pancakes (
Eggs integer not null
)
次に、これらのいずれかを実行できます:
update pancakes set eggs = 11;
update pancakes set Eggs = 11;
update pancakes set EGGS = 11;
3つのフォームすべてがeggs
に正規化されているため、機能します 。ただし、これを行う場合:
create table pancakes (
"Eggs" integer not null
)
次に、これを行うことができます:
update pancakes set "Eggs" = 11;
しかしこれではありません:
update pancakes set eggs = 11;
PostgreSQLの通常の方法は、どこでも小文字の識別子を使用することです。これにより、心配する必要がなくなります。他のデータベースでも同じ命名スキームをお勧めします。すべてを引用する必要があると、SQLに二重引用符(標準)、バッククォート(MySQL)、角かっこ(SQL Server)が散らかってしまいます。友達になりましょう。