2015-11-07 3 views
0
create table samp 
    (
    empno number(2), 
    ename varchar2(30), 
    sal number(7,2), 
    dob date 
    ) 
SQL>/

SQL> insert into samp values(1,'MASTAN',24000,'24-JUL-1987'); 

1 row created. 

здесь я не фиксировал данные, поэтому он находится в буфере журналов повтора, но при получении, как ниже запрашиваются данные запроса? Как внутренне работает? Любезно предложить мнеКак работает утверждение оракула?

SQL> SELECT * FROM SAMP; 

    EMPNO ENAME         SAL DOB        
---------- ------------------------------ ---------- --------- 
     1 MASTAN        24000 24-JUL-87 
+1

Я думаю, что лучшее, что вы могли бы сделать, это прочитать Руководство по концепциям Oracle для 11g или 12c, в котором подробно описано, как работает база данных. Это большое чтение, но это ответ на этот вопрос и многие другие, что вы даже не знали, что у вас еще есть. –

+0

Я думаю, что вы говорите об [отменить] (https://docs.oracle.com/cd/E11882_01/server.112/e25494/undo.htm#i1006145), а не переделываете сюда, но на самом деле это не так важно, как вы 'запрос в том же сеансе. Если вы спрашивали о другом сеансе * не * видя эту строку, отмена будет актуальна для согласованности чтения, как объясняет документация. –

ответ

1

Кажется, вы не совершали или откат, так что вы видите правильный результат от вашего оператора выбора, так как это происходит в одной транзакции. Попробуйте откат и проверьте результаты. Еще один хороший способ понять транзакции - попытаться открыть две отдельные оболочки sqlplus и попытаться вставить инструкции в один и выбрать операторы в другой оболочке.

Смежные вопросы