CREATE OR REPLACE FUNCTION myfunction(userid BIGINT)
RETURNS REAL
SECURITY DEFINER
LANGUAGE plpgsql
AS $$
DECLARE
------------------------Fetch all Active Games for a user and add it to one cursor--------------------------------------
PersonGames NO SCROLL CURSOR FOR select timezonename from user where id=userid;
BEGIN
OPEN PersonGames;
LOOP
FETCH PersonGames INTO PersonGame;
IF NOT found
THEN
EXIT;
END IF;
SET TIMEZONE=PersonGame.timezonename;
-- execute 'set TIMEZONE=$1' using PersonGame.timezonename;
end loop;
END;
$$;
Postgresの関数内でタイムゾーンを設定する方法: 私はパラメータに「タイムゾーン」エラー無効な値を取得しています
でも私はコード実行「を設定TIMEZONE = $ 1」PersonGame.timezonenameを使用してを変更しようとした「timezonenameを」 ;しかし、これも機能しません。
私は自分の機能の中にタイムゾーンを設定したいと思います。
本当にありがとうございました。
次の2つの異なる方法でそれを行うことができますおかげ
1.なぜPostgres DBタイムゾーンを変更したいのですか?この設定はDB全体に適用されます。 2.構文は 'SET TIME ZONE value'です([ドキュメントを参照](https://www.postgresql.org/docs/9.1/static/sql-set.html#AEN75747))。 –
私には1つの要件がありますが、これはユーザーの賢明さを必要とします。 – deadpool
@KristoMägi: 'set'を使ってタイムゾーンを変更することは、" DB全体 "には適用されません - 現在のセッションだけに適用されます。 –