sql> 2)、事務級(commit之后就刪除數據):本例子將采用以下的數據: insert into classes(class_id,class_name,class_memo) values(1,'計算機','9608'); insert into classes(class_id,class_name,class_memo) values(2,'經濟信息','9602'); insert into classes(class_id,class_name,class_memo) values(3,'經濟信息','9603'); 在一個session中(比如sqlplus登陸)插入上面3條記錄,然后再以另外一個session(用sqlplus再登陸一次)登陸,當你select * from classes;的時候,classes表是空的,而你再第一次登陸的sqlplus中select的時候可以查詢到,這個時候你沒有進行commit或者rollback之前你可以對剛才插入的3條記錄進行update、delete等操作,當你進行commit或者rollback的時候,這個時候由于你的表是事務級的臨時表,那么在插入數據的session也看不到數據了,這個時候數據就已經被截斷了。 運行結果如下: sql> insert into classes(class_id,class_name,class_memo) values(1,'計算機','9608');
1 row inserted
sql> insert into classes(class_id,class_name,class_memo) values(2,'經濟信息','9602');
1 row inserted
sql> insert into classes(class_id,class_name,class_memo) values(3,'經濟信息','9603');
1 row inserted
sql> update classes set class_memo ='' where class_id=3 ;