====== Как вернуть прошлое состояние записи в Oracle? ====== При работе с Siebel CRM (из-за кривых рук) возникает необходимость вернуть прошлое состояние записи. В моем случаи такая необходимость возникает при написании скриптов. Первоисточник [[https://docs.oracle.com/cd/B28359_01/appdev.111/b28424/adfns_flashback.htm#g1025584|Example 13-1 Retrieving a Lost Row with Oracle Flashback Query]] SELECT * FROM employees AS OF TIMESTAMP TO_TIMESTAMP('2004-04-04 09:30:00', 'YYYY-MM-DD HH24:MI:SS') WHERE last_name = 'Chung'; Рассмотрим ситуацию когда мы хотим получить значение записи BusComp Server Script. Получает ROW_ID необходимой Server Script и выполняем следующий код: SELECT * FROM S_BUSCOMP_SCRIPT AS OF TIMESTAMP TO_TIMESTAMP('2014-11-14 10:00:00', 'YYYY-MM-DD HH24:MI:SS') WHERE ROW_ID = '1-2DYR1'; Или получить все записи из таблицы на определенный момент времени. select * from S_BUSCOMP_SCRIPT as of timestamp (sysdate-1); Ограничение - Размер UNDO тейблспейса (время гарантированного хранения информации) и/или ограничения технологии flashback. [[table:S_BUSCOMP_SCRIPT]] - таблица содержащая Серверные скрипты Business Componet --- //[[admin@siebelwiki.com.ua|wiki_admin]] 2014/11/14 10:55// {{tag>Oracle eScript}}