
トリガを実行したときに、処理部分のfunctionで更新されたデータの値を取得したいと考えております。
NEW変数を使い、
NEW.[フィールド名]とすれば取得できるのは知っているのですが、
この[フィールド名]にfunction内で取得した項目名を指定するにはどうしたら良いのでしょうか?
仮に取得したいフィールド名が「sample_id」だった場合、
functionの中でNEW.sample_idとすれば取得できます。
が、今回考えていたのは以下のような処理の場合です。
記述イメージなので間違っているかもしれませんが、、、
begin
for rec in SELECT att.attname
FROM pg_attribute as att
INNER JOIN pg_class as class ON class.oid = att.attrelid
WHERE att.attnum > 0
AND class.relname='テーブル名'
ORDER BY att.attnum
loop
insert into 'テーブル名2' values(NEW.rec.attname);
loop end
end;
ループでテーブル内の項目を取得し、取得した項目の値をテーブル名に入れるという処理です。
rec.attnameには「sample_id」と入っていたので、NEW.rec.sample_idとしたのですが、
実行したときにエラーになり、どうしてもinsertできません。
どうにかして、sample_idの値をinsertしたいのですがわかりません。
ご教授お願い致します。
No.2ベストアンサー
- 回答日時:
NEWに対して動くか試していないので分かりませんけれど
動的にテーブルやカラム名を指定するときは
SQL文を文字列の結合||で作って、EXECUTEします。
こんな感じではないでしょうか。
EXECUTE 'INSERT INTO "テーブル名2" VALUES(NEW.' || rec.attname ')';
動いたら是非教えてください(^^)
参考URL:http://www.postgresql.jp/document/current/html/p …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- PHP クエリObjectをforeachで回す時に、次のレコードへ移動せずに次のレコードを取得したい 2 2022/07/28 15:29
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- PostgreSQL 画像とカテゴリーを出力したいのですが、取得の条件を付ける方法がわかりません。 2 2022/05/01 18:03
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- Oracle SQL update方法 2 2022/06/22 14:07
- MySQL 次の時間帯の勝率の合計を求めるSQL文 1 2023/07/04 17:12
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで縦のカラムデータを...
-
自治会総会の成立要件について
-
Windows10がインストールできま...
-
SQLでUPSERTを一度に複数行やる...
-
plgファイルの開き方
-
PostgreSQLとmysqlはどちらを選...
-
レンタルサーバーのPostgreSQL...
-
postgresqlでのトランザクショ...
-
直近2年度連続で減少していない...
-
列が存在しないと言われる
-
postgreSQLのint型は桁数指定が...
-
postgresql についてです
-
PostgreSQL14.6のSSL対応について
-
PuTTyにログインまでは出来たの...
-
PostgreSqlでFunctionの作成に...
-
ウィンドウズ10へアップロー...
-
PostgresSQLの環境設定について
-
mplabの事です。 2年くらい前に...
-
Windows10でQuickTimeがインス...
-
select文の書き方「半角カナ+...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
自治会総会の成立要件について
-
postgresql についてです
-
postgreSQLのint型は桁数指定が...
-
SQLでUPSERTを一度に複数行やる...
-
plgファイルの開き方
-
SQLにて指定日付より前、かつ最...
-
select文の書き方「半角カナ+...
-
エクセルで縦のカラムデータを...
-
PostgreSqlでFunctionの作成に...
-
postgresqlでのトランザクショ...
-
新規作成したPostgresqlデータ...
-
select文の書き方で分からない...
-
列が存在しないと言われる
-
PostgreSQLについて教えてくだ...
-
shellからpostgresqlへの変数の...
-
Windows10でQuickTimeがインス...
-
Postgreのupdateコマンドでエラー
-
bashスクリプトでpostgreSQLの...
-
Windows10がインストールできま...
-
PostgresSQLの環境設定について
おすすめ情報