當前位置:首頁 » 編程語言 » sql語句不主動提交
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql語句不主動提交

發布時間: 2022-10-16 15:20:59

A. plsql中oracle的update語句不提交是不是就更新無效了

如果你不提交,么就僅僅是對當前session的內存中的數據進行的修改,當這個session斷開,那麼表內的數據沒有修改,但是會一直佔用內存。rollback和這個不同,rollback相當於也回復了內存中的數據,將內存中修改後的數據用保存在回滾段的數據進行替換,這樣就算是當前的session也不會查到你修改後的數據。

B. 在pl/sql里運行數據修改語句後,既不提交也不回滾,數據是什麼狀態呢

在你執行SQL語句時,這些數據應該會上鎖,執行成功後會自動解鎖,別人才能對這些數據進行操作

C. 如何取消SQL語句的自動提交

英語界面:Tools -> Preferences -> Window Types -> SQL Window:勾選「AutoCommit SQL」,
中文是:工具-> 首選項 -> 窗口類型 -> SQL窗口 -> 勾選「自動提交sql」

D. SQL語句中,對一張表執行update,但未commit 會影響insert這張表么

不會,但是這兩步都沒有commit,同時,你第一次update的數據沒有提交,如果第二次插入的數據跟第一次插入的數據有沖突也插入不了(如果存在一些唯一性約束或者是主鍵約束的)

E. 在mysql客戶端可不可以讓執行一條insert語句的時候不自動提交啊

sql="begin";
開啟事務
開啟後不執行提交事務就不會被執行,也就不會insert
sql="insert ..."

sql="conmit";
提交事務
sql="rollback"
回滾---取消insert

F. sql語句什麼時候用commit,為什麼有時候不用commit也可以執行啊

可以執行,但是不提交數據不會保存到資料庫
DML需要提交(insert、update、delete)
DDL會自動提交(create、alter ...)

G. 如何查出長時間沒有提交事務的sql執行語句

select s.sid,s.serial# ,ss.sql_text from v$session s ,v$sql ss where s.PREV_HASH_VALUE !=0 and s.SQL_HASH_VALUE=0 and s.PREV_HASH_VALUE=ss.hash_value and (ss.sql_text like '%insert%') order by s.sid,s.serial#;
會話長時間不提交,如果要對資料庫那張表做ddl維護操作,那就比較困難了.會話長時間不提交,通常是因為事務設計的不合理造成的. 注:把上面的語句改一下,也可以查詢update,與delete的sql語句

H. sqlyog8.0 設置事務不自動提交

我的第一感覺是,事務沒有提交!
後面發現,原來PL/SQL Developer 默認是不會自動提交事務的!
那自能手動提交或者設置成自動提交事務!
打開PL/SQL Developer,
英語界面:Tools -> Preferences -> Window Types -> SQL Window:勾選「AutoCommit SQL」,
中文是:工具-> 首選項 -> 窗口類型 -> SQL窗口 -> 勾選「自動提交sql」
最後點擊確定,即可實現自動提交操作

退出登錄自動提交
英文:Tools -> Preferences -> Oracle -> Connection -> Log off with open transaction:選擇「Commit」。
中文:工具-> 首選項 ->Oracle -> 注銷(有打開的事務) -> 選擇提交
現在,無論是執行sql,還是注銷用戶,都會自動提交事務啦

I. oracle中sqlplus下執行sql語句,是不是只要沒有commit就沒有把實際修改結果存入資料庫啊

在一個用戶下update了表,但沒有commit的時候,
用另一個用戶登錄查看該表應該是沒有修改前的

注意上面寫的,用另一個用戶登錄
估計你是update後,直接又運行select了吧
在同一個窗口,運行的sql是屬於同一個事務的,所以雖然沒有提交,但是看見了也是改後的數據。

J. Oracle資料庫執行了delete語句,但沒有提交,這是頁面已經關閉了,怎麼找回

一般情況下,若頁面關閉了,session就斷開了,SQL語句會自動提交,你的delete被執行了
所以,數據是無法找回了(若有日誌,可通過日誌恢復,若是單條數據,手工insert一條也是可以的)