|
|
|
Помогите определиться
|
|||
|---|---|---|---|
|
#18+
>Кстати, интересно - есть ли в МС и Оракл возможность селекта измененных запросом данных? в оракле кажется только инсерт/апдейт одно значение возвратить может, но в коде то не проблема проселектить сначала то, что сейчас удалишь - интересней проблема "бл*, а что же мы тогда удалили и уже закомитили ?" вот тут спасает мегафича - flashback, можно запустить селект на момент до удаления. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2008, 17:44 |
|
||
|
Помогите определиться
|
|||
|---|---|---|---|
|
#18+
Yo.!но в коде то не проблема проселектить сначала то, что сейчас удалишь - интересней проблема "бл*, а что же мы тогда удалили и уже закомитили ?" вот тут спасает мегафича - flashback, можно запустить селект на момент до удаления. Гы... С таким подходом "но в коде то не проблема проселектить сначала то, что сейчас удалишь" любую мегафичу можно реализовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2008, 17:54 |
|
||
|
Помогите определиться
|
|||
|---|---|---|---|
|
#18+
pkarklin Гы... С таким подходом "но в коде то не проблема проселектить сначала то, что сейчас удалишь" любую мегафичу можно реализовать. ок, давай я даю код процедуры которая удаляет строки и коммится, а ты даешь код которые отгадывает, что за строки были удалены ? думаю с таким мегоподходом это плевое дела, а ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2008, 18:00 |
|
||
|
Помогите определиться
|
|||
|---|---|---|---|
|
#18+
FavnНа SQL PL языке SP можно было писать и раньше, и на нем и писали. Просто тогда они автоматом компилячились через ж... вобщем, через С, а сейчас - нормальная нативная среда с дебагером на сервере. проблема то не в компиляции, а в том что это внешняя приблуда для сервера. как я понял их нужно бэкапить руками отдельно, планы SQL запрсов компилируются намертво на момент создания процедуры, отдельные и независимые от сервера процессы, память и т.п. Favn 3. Создаются именно на ходу, индексы навешивать можно, в т.ч. кластерные. View - нельзя, да и смысла в них для временных таблиц, вне этого коннекта никому не видных, немного. При желании - можно вместо view использовать табличные функции на SQL PL. Или речь об MQT (materialized query table)? Для них view можно, но они только в Enterprise. нет, меня интересовала идиология именно времянок, похоже схожая с mssql, значит должна быть похожая проблема в том, что SQL в процедурах использует таблицы (временные), которые в системе появятся только в момент выполнения и нельзя на 100% отгадать правильные таблицы и типы колонок будут в момент исполнения. в оракле чуть другая идиология ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2008, 18:00 |
|
||
|
Помогите определиться
|
|||
|---|---|---|---|
|
#18+
Yo.!ок, давай я даю код процедуры которая удаляет строки и коммится, а ты даешь код которые отгадывает, что за строки были удалены ? думаю с таким мегоподходом это плевое дела, а ? Давай... ;) Тока сначала вспомни, что в MS SQL табличные переменные не подвержены транзакциям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2008, 18:02 |
|
||
|
Помогите определиться
|
|||
|---|---|---|---|
|
#18+
pkarklin Давай... ;) Тока сначала вспомни, что в MS SQL табличные переменные не подвержены транзакциям. ах вот, что за мегаподход ... взять и дописать в мой код, ну а из другой транзакции, из другой сессии... слабо ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2008, 18:12 |
|
||
|
Помогите определиться
|
|||
|---|---|---|---|
|
#18+
Yo.! wrote: > ну а из другой > транзакции, из другой сессии... слабо ;) ??? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2008, 18:37 |
|
||
|
Помогите определиться
|
|||
|---|---|---|---|
|
#18+
locky Yo.! wrote: > ну а из другой > транзакции, из другой сессии... слабо ;) ??? Posted via ActualForum NNTP Server 1.4 в оракле можно запустить CREATE TABLE AS SELECT на момент времени в прошлом (докуда UNDO хватит) с теми же предикатами, что был запущен DELETE когда-то, таким образом получить кусок таблицы, что был удален. мне разок жизнь спасло, когда я терминал перепутал ЗЫ. заглянул в оракловый мануал, оказалось и у DELETE и у INSERT/UPDATE есть returning_clause который может вернуть несколько строк ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2008, 18:51 |
|
||
|
Помогите определиться
|
|||
|---|---|---|---|
|
#18+
Yo.! wrote: > в оракле можно запустить CREATE TABLE AS SELECT на момент времени в > прошлом (докуда UNDO хватит) с теми же предикатами, что был запущен > DELETE когда-то, таким образом получить кусок таблицы, что был удален. > мне разок жизнь спасло, когда я терминал перепутал "Чего только вы не придумаете, только бы дороги не ремонтировать" (С) > ЗЫ. заглянул в оракловый мануал, оказалось и у DELETE и у INSERT/UPDATE > есть returning_clause который может вернуть несколько строк ... Та вы шо? Небось - и в рекорд коллекшн можно? :) Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2008, 18:56 |
|
||
|
Помогите определиться
|
|||
|---|---|---|---|
|
#18+
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 задается при создании. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2008, 19:26 |
|
||
|
Помогите определиться
|
|||
|---|---|---|---|
|
#18+
Yo.!ах вот, что за мегаподход ... взять и дописать в мой код, Подход полностью аналогичен: Yo.!но в коде то не проблема проселектить сначала то, что сейчас удалишь ;) Yo.!ну а из другой транзакции, из другой сессии... слабо ;) Не, не слабо, опять же с испольованием озвученного выше мегаподхода можно как два пальца об асфальт реализовать хранение истории данных (несмотря на то, что сам MS SQL не поддерживает такого функционала, снапшоты тут не будем рассматривать) и это я успешно проделывал на одном из проектов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2008, 08:46 |
|
||
|
Помогите определиться
|
|||
|---|---|---|---|
|
#18+
2pkarklin этот returning (OUTPUT по вашему) - обычный syntax sugar. Я не вижу координальной разницы написать селект строкой выше или returning строкой ниже ... а вот достать без подготовки одним селектом то, что было когда-то удалено вместо того, чтоб заранее включать аудит на все таблицы, что часто не реально и в большинстве случаев уже поздно, для меня выглядит более впечатляющим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2008, 17:02 |
|
||
|
Помогите определиться
|
|||
|---|---|---|---|
|
#18+
Yo.! wrote: > этот returning (OUTPUT по вашему) - обычный syntax sugar. Я не вижу > координальной разницы написать селект строкой выше или returning строкой > ниже ... а вот достать без подготовки одним селектом то, что было Странно, а я почему то вижу.... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2008, 17:42 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=35246091&tid=1553136]: |
0ms |
get settings: |
10ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 357ms |

| 0 / 0 |
