72 похожих чатов

Подскажите по sql пожалуйста. Если в таблицах, из которых создан

VIEW, поменяются данные то и VIEW тоже будет показывать обновлённые данные? И если ДА то чем они отличаются от процедур?

16 ответов

14 просмотров

Да, данные в представлении изменятся.

А что общего у процедур и представлений?

NikolaEv-Затылок Автор вопроса
William Pitt
А что общего у процедур и представлений?

В процедуру можно сохранить тот же селект что и во вьюхе. Только потом придётся юзать процедуру как подзапрос, а не как таблицу и все

NikolaEv Затылок
В процедуру можно сохранить тот же селект что и во...

Процедура нужна для реализации логической последовательности действий при работе с данными. Запросы в теле процедуры это лишь частный случай. Представление формируется на основе выборки данных. В представление можно вставлять данные при соблюдении ряда условий. Технически процедура может заменить представление, но практически это не всегда рационально.

NikolaEv-Затылок Автор вопроса
𒀭
Процедура нужна для реализации логической последов...

а можно узнать почему иногда это иррационально?

NikolaEv Затылок
а можно узнать почему иногда это иррационально?

Есть много различных ситуаций, можно долго рассказывать. Загуглите, этот вопрос не вчера родился: https://stackoverflow.com/questions/5194995/what-is-the-difference-between-a-stored-procedure-and-a-view

Смотря какой view (и, заодно, какой сервер баз данных). Для большынства серверов -- в обычных view поменяется, в материализованных -- не поменяется. Главное отличие от процэдур -- что view ведут себя как таблицы, в первую очередь по отношэнию к later/non-lateral join. Кроме того, обычно выборка по view оптимизируется примерно такжэ, как выборка из таблиц. Добиться такого через процэдуры обычно либо сложно либо невозможно. В общем, разные традицыи подхода к обработке.

William Pitt
А что общего у процедур и представлений?

Это средство организации кода на SQL

NikolaEv Затылок
а можно узнать почему иногда это иррационально?

Запросы в процедуре не оптимизируются вместе с использующим еë запросом

Ilya Zviagin
Запросы в процедуре не оптимизируются вместе с исп...

В постгресе на языке SQL -- оптимизируются.

Ilya Anfimov
В постгресе на языке SQL -- оптимизируются.

А можно ссылку на документацию, где это указано? А то я вот не помню такого совсем...

Phil Delgyado
А можно ссылку на документацию, где это указано? А...

Не уверен, что это есть в документацыи. Но это, в общем, common knowledge. Вот тут -- самое близкое к какому-то системному описанию, когда это можэт происходить https://wiki.postgresql.org/wiki/Inlining_of_SQL_functions

Ilya Anfimov
Не уверен, что это есть в документацыи. Но это, в ...

А, но там указано, что оптимизация работает если функция состоит из одного sql-выражения, фактически это как раз view.

Phil Delgyado
А, но там указано, что оптимизация работает если ф...

Ну, хоть иногда -- оптимизируются? Значит, оптимизируются.

Ilya Anfimov
Ну, хоть иногда -- оптимизируются? Значит, оптимиз...

Не совсем. Они оптимизируются для тривиальных случаев.

Похожие вопросы

Обсуждают сегодня

Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
3
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
1. https://www.kaggle.com/code/ahmadrezagholami2001/housing-estimation-linear-regression 2. https://www.kaggle.com/code/ahmadrezagholami2001/uncovering-quality-in-wines-logis...
Ahmadreza
1
Коллеги, я тут для личных нужд пошел ставить MQTT сервер, пощупал mosquitto, но ужаснулся отсутствию такой банальности, как HTTP API для посмотреть список топиков. А тут что,...
Maksim Lapshin
14
Карта сайта