Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Нарезка по времени данных / 2 сообщений из 2, страница 1 из 1
17.01.2006, 13:15
    #33486989
puzzle
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нарезка по времени данных
Здравствуйте,
есть триггер который делает нарезку данных по минуте.
Необходимо сделать нарезку по 15 минутам.
(В дальнейшем необходимо будет реализовать в виде процедуры с этим параметром)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
declare
  tts_ timestamptz;
begin

  tts_ = date_trunc( 'minute', new."TTS" );

  update "ms_tod_min" set
    "OPEN" = case
      when new."TTS" < "TTS_OPEN" then new."LAST"
      else "OPEN" end,
    "HIGH" = case
      when new."LAST" > "HIGH" then new."LAST"
      else "HIGH" end,
    "LOW" = case
      when new."LAST" < "LOW" then new."LAST"
      else "LOW" end,
    "CLOSE" = case
      when new."TTS" > "TTS_CLOSE" then new."LAST"
      else "CLOSE" end,
    "VOL" = "VOL"+new."VOLLOT",
    "TTS_OPEN" = case
      when new."TTS" < "TTS_OPEN" then new."TTS"
      else "TTS_OPEN" end,
    "TTS_CLOSE" = case
      when new."TTS" >= "TTS_CLOSE" then new."TTS"
      else "TTS_CLOSE" end
    where "TTS"=tts_ and "NAME"=new."NAME";
  if not found
  then

    insert into "ms_tod_min"
      ( "NAME", "TTS",
        "OPEN", "HIGH", "LOW", "CLOSE", "VOL",
        "TTS_OPEN", "TTS_CLOSE" )
      values( new."NAME", tts_,
        new."LAST", new."LAST", new."LAST", new."LAST", new."VOLLOT",
        new."TTS", new."TTS" );
  end if;
  return null;
end

Заранее благодарен.
...
Рейтинг: 0 / 0
17.01.2006, 14:05
    #33487180
puzzle
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нарезка по времени данных
Сам додумал

Код: plaintext
  tts_ = date_trunc('day',new."TTS")+(extract('epoch' from new."TTS" - date_trunc('day',new."TTS"))::int/( 60 * 5 )* 5  || ' min')::interval;

Это реализовано в качестве триггера на встаку, а каким образом можно это сделать в виде процедуры с параметром.

Заранее благодарен.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Нарезка по времени данных / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]