>>402 CREATE FUNCTION temp_counter() RETURNS OPAQUE AS ' BEGIN EXECUTE ''UPDATE my_counter_table SET '' || quote_ident(TG_RELNAME) || ''=(SELECT COUNT(*) FROM '' || quote_ident(TG_RELNAME)'' || ''; RETURN NULL; END; ' LANGUAGE 'plpgsql'; こうしてみたんですが parser: parse error at or near "' || '" at character 110 というエラーが出ます。 シングルクォーテーションは '' で表す。 テーブル名や列名は quote_ident 関数に通さないといけない。 ということなので上記の文は UPDATE my_counter_table SET 'hoge' = (SELECT COUNT(*) FROM 'hoge' という文字列を実行するってことですよね? ||の意味がよく分からないので、そこに問題がある 気がします。ドキュメントを読んでもダメでした。 ||はどういう意味なんですか?