В этой заметке ты узнаешь об отличиях view и хранимых процедур для сохранения SELECT запросов PostgreSQL.

В PostgreSQL сохранить SELECT запрос можно и с помощью вью, и с помощью хранимых процедур. После сохранения уже не нужно будет писать новый запрос. Мне было интересно в чем разница между этими подходами и вот что я понял:

Хранимые процедуры

  • Более гибкие потому что могут принимать аргументы
  • Могут содержать несколько запросов, циклов, выражений IF/ELSE
  • Могут изменять существующие таблицы
  • Не могут использоваться для создания более обширных SQL запросов
  • Не могут использоваться как цель для INSERT, UPDATE или DELETE

Вьюхи

  • Не принимают аргументы
  • Не могут изменять существующие таблицы
  • Не могут хранить результаты более чем одного SELECT запроса
  • Могут быть частью более обширного SQL запроса
  • Могут использоваться для изменения данных связанной таблицы (INSERT, UPDATE или DELETE)