|
|
|
ХП и вьюхи
|
|||
|---|---|---|---|
|
#18+
iscrafmКот Матроскинпропущено... А данные при этом - не обновляю? Если таки обновляю - как именно я это делаю, при помощи view или без помощи view? обновляешь, ... при помощи view или без помощи view? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 19:33 |
|
||
|
ХП и вьюхи
|
|||
|---|---|---|---|
|
#18+
Amberit Есть несколько основных причин (относительно той Компании, в которой я работаю): - существует четкое разделение между разработчиками БД и разработчиками приложений. Если вкратце, то как в анекдоте: "Я не выдаю кредиты, а Банк не торгует семечками"... За правильность, корректность, скорость работы запроса отвечает разработчик БД. У нас это организовано посредством стандарта на использование ХП. Логика работы с данными отделена от логики работы приложения; - посредством разработанного PLSQL-фреймворка логгирование/обработка/реакции на ошибки/снятие трейса/ограничение доступа и др. "рабочие" ситуации доведены до автоматизма, занимают минимум времени и внимания; - логика работы собрана в одном месте, вследствие чего ее проще изменять/дорабатывать/оптимизировать; Если хотите, объясню, почему такая формулировка вызывает ощущение, что опыта использования этих вариантов крайне мало. Было бы любопытно узнать Вашу точку зрения...[/quot] Хорошо. У нас тоже во многих проектах как у Вас. Ну, к примеру, как разрешается конфликт юзеров? Ведь теперь нет всяких там рекордсетов или там датасетов, которые поддерживаают сами оптимистическую блокировку ("Запись изменена другим пользователем"). Теперь это Вы берете на себя? Ну на первый взгляд кода больше пришлось написать? Как Вы разгуливаете? Возможно, нельзя исключать, что говорить о тереотическом обосновании, что является более оптимальным все еще преждевременно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 19:34 |
|
||
|
ХП и вьюхи
|
|||
|---|---|---|---|
|
#18+
iscrafmDimitry Sibiryakoviscrafmможно обновить то, что View возвращает Да ну? Какой это сервер позволяет иметь непосредственно обновляемый result set? например MySQL Не, это изменяется таблица из которой result set был сформирован. А никакого обновления самого result set не происходит. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 19:35 |
|
||
|
ХП и вьюхи
|
|||
|---|---|---|---|
|
#18+
Кот Матроскинiscrafmпропущено... обновляешь, ... при помощи view или без помощи view? обновляешь то что "возвращает" View. Ранее же полно уже ссылок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 19:41 |
|
||
|
ХП и вьюхи
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakoviscrafmпропущено... например MySQL Не, это изменяется таблица из которой result set был сформирован. А никакого обновления самого result set не происходит. ну и тупой... Ты с Сашей соревнуешься? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 19:42 |
|
||
|
ХП и вьюхи
|
|||
|---|---|---|---|
|
#18+
iscrafmТы с Сашей соревнуешься? Не, я пытаюсь понять в каком месте ты нашёл обещанное обновление result set. Я по твоей ссылке вижу только обычные SQL запросы, которые обновляют всё что угодно, но только не его. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 19:48 |
|
||
|
ХП и вьюхи
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakoviscrafmТы с Сашей соревнуешься? Не, я пытаюсь понять в каком месте ты нашёл обещанное обновление result set. Я по твоей ссылке вижу только обычные SQL запросы, которые обновляют всё что угодно, но только не его. Сибиряков, ты с Сашей соревнуешься? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 19:52 |
|
||
|
ХП и вьюхи
|
|||
|---|---|---|---|
|
#18+
iscrafmты с Сашей соревнуешься? Нет, с тобой. Покажи пример изменения result set-а. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 19:55 |
|
||
|
ХП и вьюхи
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakoviscrafmты с Сашей соревнуешься? Нет, с тобой. Покажи пример изменения result set-а. где тебе показать? неужели на "клиенте"? Ты уже превосходишь по глупости softwarer... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 20:02 |
|
||
|
ХП и вьюхи
|
|||
|---|---|---|---|
|
#18+
iscrafmгде тебе показать? неужели на "клиенте"? Ну, если найдёшь result set на сервере, покажи и там. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 20:07 |
|
||
|
ХП и вьюхи
|
|||
|---|---|---|---|
|
#18+
Валер, у меня к тебе пара вопросов без протокола не по сути твоих высказываний. Вопрос первый. Перед кем ты выпендриваешься? Ты же топик за топиком видишь, что ты один, а ведёшь себя так, словно вокруг куча внимающих тебе слушателей. Это уже немного отдаёт шизофренией. Вопрос второй. Безусловно, личный, некорректный итп, но любопытно. С какого возраста ты рос без отца? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 20:11 |
|
||
|
ХП и вьюхи
|
|||
|---|---|---|---|
|
#18+
softwarerВо-первых, pipelined - это просто вариант табличной функции (полагаю, именно она подразумевалась под возвратом коллекций). Если я правильно Вас понял, то Вы неправильно меня поняли (о как выкрутил!) :) PIPELINED - это один подход; Возврат коллекции, созданной как SQL-тип в БД и в которую в результате обработки помещены данные - это другой подход; Под коллекцией я понимаю SQL-тип вида CREATE TYPE xxx IS TABLE OF yyy; Под SYS_REFCURSOR я старался подчеркнуть использование нестрогой ссылки на курсор, т.к. есть код, который в зависимости от входных параметров возвращает разные результаты. Подход с REF CURSOR RETURN не используем, вместо него используются либо PIPELINED, либо коллекции. softwarerСоответственно, там, где есть такой стандарт, практически всегда выбирается что-то одно, как минимум в рамках приложения. Полностью с Вами согласен. Но кто сказал, что разработчик БД поддерживает только 1 приложение? В мою сферу работы входят как динозавры, написанные во времена Oracle 8, и успешно работающие до сих пор, так и приложения, использующие последние фишки Oracle 11 (например, приложение 24*7 c применением Edition-Based Redifinition). Поэтому разработчик БД кодирует в тех стандартах и применяет те подходы, которые были приняты в свое время для конкретного приложения. Этим же стандартам следует и разработчик приложения. softwarerВ конце концов, проще принять стандарт типа "данные всегда возвращаются через ref cursor; если нужна табличная функция, она возвращается через refcursor-обёртку" Стандарт принять может быть и проще, а вот менять существующий, успешно и надежно работающий и приносящий прибыль код ради "чистоты стандартов" - слегка неверно, я считаю. Ведь в этом случае код нужно: поменять, протестировать, задеплоить. А это время и деньги тех людей, которые будут вовлечены в такие изменения. В нашей компании изменения в стиле "давайте сейчас все перепишем заново" делаются только в крайних случаях, когда мы упираемся в существенные ограничения в рамках выбранного подхода. А это всегда Epic Fail и прощелк на предыдущих этапах разработки, хотя иногда и случается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 20:14 |
|
||
|
ХП и вьюхи
|
|||
|---|---|---|---|
|
#18+
vadiminfoНу, к примеру, как разрешается конфликт юзеров? Ведь теперь нет всяких там рекордсетов или там датасетов, которые поддерживаают сами оптимистическую блокировку Мы стараемся не использовать программные продукты, которые САМИ чего-то там поддерживают и представляют из себя черный ящик, непонятно как работающий. Есть подход с использованием оптимистической блокировки. Есть подход с использованием пессимистической блокировки. Есть подход вообще без блокировки. В зависимости от потребностей используется один из вариантов, осмысленно используется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 20:18 |
|
||
|
ХП и вьюхи
|
|||
|---|---|---|---|
|
#18+
vadiminfoчто говорить о тереотическом обосновании, что является более оптимальным все еще преждевременно. Согласен, мы вообще не можем говорить об оптимальности или неоптимальности ЛЮБОГО подхода, не рассматривая окружение и условия, в которых этот подход применяется. Т.е. углубляясь в детали конкретного случая, можно прийти к консенсусу об оптимальности конкретного подхода по отношению к другим, но говорить в общем - это признак непрофессионализма либо незнания альтернативных подходов, я думаю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 20:20 |
|
||
|
ХП и вьюхи
|
|||
|---|---|---|---|
|
#18+
softwarerВалер, у меня к тебе пара вопросов без протокола не по сути твоих высказываний. Вопрос первый. Перед кем ты выпендриваешься? если ты не понял выпендриваешься здесь ты, а я просто показываю насколько ты дебил. Это и ответ на второй вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 20:27 |
|
||
|
ХП и вьюхи
|
|||
|---|---|---|---|
|
#18+
AmberitЕсть подход с использованием оптимистической блокировки. Есть подход с использованием пессимистической блокировки. Есть подход вообще без блокировки. В зависимости от потребностей используется один из вариантов, осмысленно используется. Ну вот часто в таких ситуациях, скорее всего, возникают подходы без блокировки. Поскольку в силу природы вещей, оптимистическая блокировка ожидается на клиенте, а проггеры клиентов ничего не должны как бы знать о БД. И придумывают разные теории чтобы этого не делать. Т.е. не просто больше кода, но и др траблы. А Вы говорите - "предпочтительно". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 20:41 |
|
||
|
ХП и вьюхи
|
|||
|---|---|---|---|
|
#18+
iscrafmЭто и ответ на второй вопрос. А пример изменения result set-а покажешь? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 20:42 |
|
||
|
ХП и вьюхи
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakoviscrafmЭто и ответ на второй вопрос. А пример изменения result set-а покажешь? а ты покажещь пример View с параметрами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 20:43 |
|
||
|
ХП и вьюхи
|
|||
|---|---|---|---|
|
#18+
iscrafmа ты покажещь пример использования View с параметрами? Предыдущие три раз до тебя не дошли? Шея длинная?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 20:48 |
|
||
|
ХП и вьюхи
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakoviscrafmа ты покажещь пример использования View с параметрами? Предыдущие три раз до тебя не дошли? Шея длинная?.. хотя-бы один пример... один из выдуманных тобой трех ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 20:56 |
|
||
|
ХП и вьюхи
|
|||
|---|---|---|---|
|
#18+
iscrafmхотя-бы один пример... один из выдуманных тобой трех Да он и так был один. Просто я повторил его три раза, чтобы даже до самых упёртых тормозов дошло. Но, видно, не судьба. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 21:01 |
|
||
|
ХП и вьюхи
|
|||
|---|---|---|---|
|
#18+
iscrafmDimitry Sibiryakovпропущено... Что ему помешает? Кривые руки?.. перейдем к примерам оформления в View операций обновления БД? Похоже Dimitry Sibiryakov пытается у Александра перехватить первенство по глупости зря ты так, есть updatable view, и есть варианты использования view именно для изменения данных, instead triggers на view и т. п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 21:01 |
|
||
|
ХП и вьюхи
|
|||
|---|---|---|---|
|
#18+
MasterZiviscrafmпропущено... перейдем к примерам оформления в View операций обновления БД? Похоже Dimitry Sibiryakov пытается у Александра перехватить первенство по глупости зря ты так, есть updatable view, и есть варианты использования view именно для изменения данных iscrafmChAUpdatable view существуют уже настолько давно, что отрицать это престранно. Или речь не о них ? Updatable View, а не View которые выполняют функции обноления данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 21:04 |
|
||
|
ХП и вьюхи
|
|||
|---|---|---|---|
|
#18+
iscrafmКот Матроскинпропущено... ... при помощи view или без помощи view? обновляешь то что "возвращает" View. Ранее же полно уже ссылок Я не задавал вопрос что я обновляю - вроде уже сошлись что обновляю данные. Я спросил как - при помощи view или без помощи view? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 21:06 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=39108270&tid=1540431]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
159ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 484ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...