
PostgreSQLにて、変数を使用したい
以下のSQL文を参照ください
UPDATE時に代入している現在時刻と、INSERT時に代入している現在時刻を全く同じ値にしたいのですが、
実際に、実行した場合にはINSERT時の時刻の方が少し遅れてしまいます
UPDATE "TableA" SET "unixtime" = extract(epoch from now()) WHERE "id" = 100; INSERT INTO "TableA" ("unixtime") VALUES (extract(epoch from now()));
そこで以下の様に変数を使用できればと思ったのですが、
変数の使用方法が調べたのですが見つけられませんでした
変数nowtime = extract(epoch from now()) UPDATE "TableA" SET "unixtime" = 変数nowtime WHERE "id" = 100; INSERT INTO "TableA" ("unixtime") VALUES (変数nowtime);
PostgreSQL ver9.3.6です
ストアドプロシージャを使わない方法で解決方法はあるのでしょうか?
よろしくお願いします
追記
申し訳ありません。上記の説明は解りにくかったようです
別のケースとして、下記コードのようなケースでも同様です
UPDATE "TableA" SET "unixtime" = extract(epoch from now()) WHERE "id" = 100; UPDATE "TableA" SET "unixtime" = extract(epoch from now()) WHERE "id" = 199; UPDATE "TableA" SET "unixtime" = extract(epoch from now()) WHERE "id" = 300; UPDATE "TableA" SET "unixtime" = extract(epoch from now()) WHERE "id" = 301; UPDATE "TableA" SET "unixtime" = extract(epoch from now()) WHERE "id" = 310; ...を1000個くらい INSERT INTO "TableA" ("unixtime") VALUES (extract(epoch from now())); INSERT INTO "TableA" ("unixtime") VALUES (extract(epoch from now())); INSERT INTO "TableA" ("unixtime") VALUES (extract(epoch from now())); ...を100個くらい
この時、全てのUPDATE、INSERT文に対し同じ時刻を渡したいのです
ちなみに上記のコードらの内容に意味はありません
ただの説明用です
回答5件
あなたの回答
tips
プレビュー