powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Помогите определиться
13 сообщений из 88, страница 4 из 4
Помогите определиться
    #35243407
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>Кстати, интересно - есть ли в МС и Оракл возможность селекта измененных запросом данных?

в оракле кажется только инсерт/апдейт одно значение возвратить может, но в коде то не проблема проселектить сначала то, что сейчас удалишь - интересней проблема "бл*, а что же мы тогда удалили и уже закомитили ?" вот тут спасает мегафича - flashback, можно запустить селект на момент до удаления.
...
Рейтинг: 0 / 0
Помогите определиться
    #35243437
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!но в коде то не проблема проселектить сначала то, что сейчас удалишь - интересней проблема "бл*, а что же мы тогда удалили и уже закомитили ?" вот тут спасает мегафича - flashback, можно запустить селект на момент до удаления.

Гы... С таким подходом "но в коде то не проблема проселектить сначала то, что сейчас удалишь" любую мегафичу можно реализовать.
...
Рейтинг: 0 / 0
Помогите определиться
    #35243457
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pkarklin

Гы... С таким подходом "но в коде то не проблема проселектить сначала то, что сейчас удалишь" любую мегафичу можно реализовать.

ок, давай я даю код процедуры которая удаляет строки и коммится, а ты даешь код которые отгадывает, что за строки были удалены ? думаю с таким мегоподходом это плевое дела, а ?
...
Рейтинг: 0 / 0
Помогите определиться
    #35243462
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FavnНа SQL PL языке SP можно было писать и раньше, и на нем и писали. Просто тогда они автоматом компилячились через ж... вобщем, через С, а сейчас - нормальная нативная среда с дебагером на сервере.

проблема то не в компиляции, а в том что это внешняя приблуда для сервера. как я понял их нужно бэкапить руками отдельно, планы SQL запрсов компилируются намертво на момент создания процедуры, отдельные и независимые от сервера процессы, память и т.п.

Favn
3. Создаются именно на ходу, индексы навешивать можно, в т.ч. кластерные. View - нельзя, да и смысла в них для временных таблиц, вне этого коннекта никому не видных, немного. При желании - можно вместо view использовать табличные функции на SQL PL. Или речь об MQT (materialized query table)? Для них view можно, но они только в Enterprise.

нет, меня интересовала идиология именно времянок, похоже схожая с mssql, значит должна быть похожая проблема в том, что SQL в процедурах использует таблицы (временные), которые в системе появятся только в момент выполнения и нельзя на 100% отгадать правильные таблицы и типы колонок будут в момент исполнения. в оракле чуть другая идиология ...
...
Рейтинг: 0 / 0
Помогите определиться
    #35243469
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!ок, давай я даю код процедуры которая удаляет строки и коммится, а ты даешь код которые отгадывает, что за строки были удалены ? думаю с таким мегоподходом это плевое дела, а ?

Давай... ;) Тока сначала вспомни, что в MS SQL табличные переменные не подвержены транзакциям.
...
Рейтинг: 0 / 0
Помогите определиться
    #35243496
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pkarklin
Давай... ;) Тока сначала вспомни, что в MS SQL табличные переменные не подвержены транзакциям.
ах вот, что за мегаподход ... взять и дописать в мой код, ну а из другой транзакции, из другой сессии... слабо ;)
...
Рейтинг: 0 / 0
Помогите определиться
    #35243569
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.! wrote:
> ну а из другой
> транзакции, из другой сессии... слабо ;)
???
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Помогите определиться
    #35243612
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
locky
Yo.! wrote:
> ну а из другой
> транзакции, из другой сессии... слабо ;)
???
Posted via ActualForum NNTP Server 1.4
в оракле можно запустить CREATE TABLE AS SELECT на момент времени в прошлом (докуда UNDO хватит) с теми же предикатами, что был запущен DELETE когда-то, таким образом получить кусок таблицы, что был удален. мне разок жизнь спасло, когда я терминал перепутал

ЗЫ. заглянул в оракловый мануал, оказалось и у DELETE и у INSERT/UPDATE есть returning_clause который может вернуть несколько строк ...
...
Рейтинг: 0 / 0
Помогите определиться
    #35243628
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.! wrote:
> в оракле можно запустить CREATE TABLE AS SELECT на момент времени в
> прошлом (докуда UNDO хватит) с теми же предикатами, что был запущен
> DELETE когда-то, таким образом получить кусок таблицы, что был удален.
> мне разок жизнь спасло, когда я терминал перепутал
"Чего только вы не придумаете, только бы дороги не ремонтировать" (С)


> ЗЫ. заглянул в оракловый мануал, оказалось и у DELETE и у INSERT/UPDATE
> есть returning_clause который может вернуть несколько строк ...
Та вы шо?
Небось - и в рекорд коллекшн можно? :)
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Помогите определиться
    #35243688
Favn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yo.!проблема то не в компиляции, а в том что это внешняя приблуда для сервера. как я понял их нужно бэкапить руками отдельно, планы SQL запрсов компилируются намертво на момент создания процедуры, отдельные и независимые от сервера процессы, память и т.п.Думаю, что не стоит обсуждать проблемы СУБД, решенные 8 лет назад :) Начиная с v8 в DB2 SQL PL процедуры лежат в БД (в .т.ч. в сис. таблицах) и компилируются в граф доступа к данным. Перекомпилировать можно после runstats. Относительно внешняя приблуда - процедуры на Java, например. И на С можно, для старых извращенцев.

Yo.!нет, меня интересовала идиология именно времянок, похоже схожая с mssql, значит должна быть похожая проблема в том, что SQL в процедурах использует таблицы (временные), которые в системе появятся только в момент выполнения и нельзя на 100% отгадать правильные таблицы и типы колонок будут в момент исполнения. в оракле чуть другая идиология ... Отгадать нельзя, а вот задать - можно :) Опция "LIKE table-name / view-name" копирует описание нужной таблицы или "AS (fullselect) DEFINITION ONLY" - результ. таблицу запроса. Вообще, DB2 весьма строг с типизацией данных. А идеология - временную таблицу видит только ее создатель, в сис. каталоги она не заносится. Политика сохранения данных в ней при commit/rollback задается при создании.
...
Рейтинг: 0 / 0
Помогите определиться
    #35244306
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!ах вот, что за мегаподход ... взять и дописать в мой код,

Подход полностью аналогичен:

Yo.!но в коде то не проблема проселектить сначала то, что сейчас удалишь

;)

Yo.!ну а из другой транзакции, из другой сессии... слабо ;)

Не, не слабо, опять же с испольованием озвученного выше мегаподхода можно как два пальца об асфальт реализовать хранение истории данных (несмотря на то, что сам MS SQL не поддерживает такого функционала, снапшоты тут не будем рассматривать) и это я успешно проделывал на одном из проектов.
...
Рейтинг: 0 / 0
Помогите определиться
    #35246091
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2pkarklin

этот returning (OUTPUT по вашему) - обычный syntax sugar. Я не вижу координальной разницы написать селект строкой выше или returning строкой ниже ... а вот достать без подготовки одним селектом то, что было когда-то удалено вместо того, чтоб заранее включать аудит на все таблицы, что часто не реально и в большинстве случаев уже поздно, для меня выглядит более впечатляющим.
...
Рейтинг: 0 / 0
Помогите определиться
    #35246268
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.! wrote:
> этот returning (OUTPUT по вашему) - обычный syntax sugar. Я не вижу
> координальной разницы написать селект строкой выше или returning строкой
> ниже ... а вот достать без подготовки одним селектом то, что было
Странно, а я почему то вижу....
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
13 сообщений из 88, страница 4 из 4
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Помогите определиться
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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