2013-06-27 4 views
1

У меня есть следующие рабочие запросы, выполняемые отдельно, и я хочу запустить их все за один проход с помощью некоторой хранимой процедуры или любого доступного метода в PostGreSQL.Как создать процедуру для запуска разных запросов за один раз

SELECT obu_id, trip_id, start_time, end_time, end_time - LEAD(start_time)  OVER(PARTITION  BY obu_id ORDER BY start_time) AS diff FROM clean_trips_byobu; 

Следующая Запрос

UPDATE clean_trips_byobu c 

SET dwell_time = COALESCE(u.diff, interval '-1 hour') 

FROM (SELECT obu_id, trip_id, start_time, end_time,end_time - lead(start_time) OVER (PARTITION BY obu_id    ORDER BY start_time) AS diff FROM clean_trips_byobu) u 

WHERE (c.obu_id, c.trip_id, c.start_time, c.end_time) 
=(u.obu_id, u.trip_id, u.start_time, u.end_time) 

AND c.dwell_time IS DISTINCT FROM COALESCE(u.diff, interval '-1 hour'); 

Следующая Запрос

UPDATE public.clean_trips_byobu 
SET trip_dist = clean_trips.bktp_mt_total 
FROM public.clean_trips 
WHERE public.clean_trips.obu_id = clean_trips_byobu.obu_id 
AND clean_trips.bktp_trip_id = clean_trips_byobu.trip_id; 

Я хочу, чтобы включить все эти вопросы в одной функции или процедуры.

Благодаря

+1

Ну вы сделали упоминания хранимую процедуру, подсказка подсказки. –

+0

вы ответили на свой вопрос ... просто поместите их в хранимую процедуру. Если вы хотите сохранить их в отдельности, вы можете поместить их в свои собственные сохраненные procs, а затем использовать другой для выполнения каждого из них. –

+0

@ DanBracuk Я не знаю, что именно будет работать здесь. Насколько я знаю, мне нужно собрать некоторые типы процедур. Нужно ли мне редактировать вопрос? – ParveenArora

ответ

1

написать хранимую процедуру и записать все запросы там в этой хранимой процедуры после того, как начать

+1

Правильно, в его нынешнем виде этот ответ, вероятно, должен быть комментарием (например, Дэн). ОП, похоже, понятия не имеет, с чего начать. Ответ будет улучшен, предложив несколько ссылок и подсказок, чтобы начать его работу. –

+0

Если вы хотите узнать, как писать, обратитесь к этой ссылке http://forums.asp.net/t/1722262.aspx/1 – user2526627