關於多個SQL文執行時,回滾的問題

2025-02-04 09:10:36 字數 2986 閱讀 8722

sql回滾的作用什麼?

1樓:

當你遇到死鎖是就有用了。

就是回退到上次提交的時間點。

2樓:網友

回滾的作用就是,當有乙個sql語句執行時,條件不符合要求,比如你要插入乙個資料,但是插入的資料要有條件的,這時候你就可以用回滾,如果條件成功就commit提交的意思,不然就rollback回滾,也就是說插入不成功。

3樓:茗茶堂

回滾是指事務的回滾,即撤銷事務開始後的操作。如果commit即提交事務,事務結束;如果rollback即主動回滾之前的資料操作語句dml。注意,資料定義語句ddl不能回滾的。

4樓:網友

就是撤銷操作,一般是用觸發器來完成。

5樓:網友

和windows裡的**站有著差不多的功能。

sql儲存過程中事務出現錯誤回滾,那麼在回滾之後的語句會執行嗎

6樓:網友

看你的語句怎麼控制。一般的應用是有錯誤後不執行後面的**。

plsql 中執行update誤操作 怎樣回滾。執行update後,並沒有點提交,但是我把sql視窗關掉了,有什麼辦法?

7樓:異忍乖

你沒有建立還原點的,要是建立了乙個還原點的啊,你回滾到還原點就可以了,一般大公司的資料庫管理人員,每天一上班的第一件事就是建立還原點,防止出問題,便於回滾,但是你沒有建立的話,我就不知道了。。。也許有辦法,也許沒辦法。。。

8樓:匿名使用者

執行update後,並沒有點提交 , 把sql視窗關掉。

好像資料庫就會自動回滾掉了吧。

9樓:網友

使用scn進行恢復。

查詢當天scn

sql> select dbms_ from dual;

查詢當前scn前面的表資訊。

sql> select count(*)from test as of scn 10010078;

之後就是把那時查到的表備份到乙個新表,使用新表替換舊錶sql> create table test1 as select * from test as of scn 10010078;

sql語言中,用於事務回滾的語句是什麼?

10樓:網友

開始事務 begin transaction

提交事務 commit transaction

回滾事務 rollback transaction

oracle 批量執行多個sql檔案

11樓:千鋒教育

方法如下:

1:執行cmd進入命令列介面。

2:進入到存放批量sql的資料夾下面。

3:輸入命令 sqlplus 資料庫名/密碼@資料庫 按回車鍵。

4:輸入spool 指定路徑:\ 按回車鍵 (此步驟的主要作用就是追蹤批量執行sql的日誌,路徑隨便寫,只要能找到就行,可以隨便起名,但是必須要。log字尾)

5: 按回車鍵(在批量sql資料夾下寫乙個檔案,名字叫,其中在這個檔案裡面寫批量sql的檔名)

具體格式如下:@@sql的檔名。sql;

sql的檔名;

6:spool off (此時中所有日誌已經寫入完畢)7:exit 退出sqlplus

當然只有乙個sql檔案,但是裡面有多個insert語句,資料量非常大,此時也可以在命令狀態下執行,前4步是一樣的,第五步就是@檔名。sql;

12樓:網友

你可以再寫乙個回滾11_ocoreamsd、12_ocoreamsd、13_ocoreamsd的指令碼,例如rollback_;

然後,建立乙個狀態table,例如:

create table t_script_status(script_id number(10), script_status varchar2(20));

insert into t_script_status (script_id, script_status) values(11, 'not run');

insert into t_script_status (script_id, script_status) values(12, 'not run');

insert into t_script_status (script_id, script_status) values(13, 'not run');

commit;

然後,分別在11_ocoreamsd、12_ocoreamsd、13_ocoreamsd中新增**,如果沒有錯誤或異常,則更新t_script_status,把指令碼自己對應的那一行的狀態,由'not run'改為'successful';

然後,建立乙個儲存過程,裡面首先執行11_ocoreamsd,檢查t_script_status,如果對應的狀態仍為'not run',則表明11_ocoreamsd有錯誤或異常,則執行rollback_;如果是'successful',則繼續執行12_ocoreamsd;如此類推。

可能有點繁瑣,希望對您有用阿。

如何在乙個bat檔案中執行多個sql語句

13樓:網友

使用批處理bat檔案執行多個sql語句的方法:

二、新建包含多個sql語句的sql檔案,例如,檔案內容'glkf'為服務的資料庫名稱。

三、新建bat檔案,例如,檔案內容。

s : 資料庫伺服器ip或名稱。

usa :sa 為登入名。

p45874587 : 45874587 為登入密碼。

四、把兩個檔案放在e:\sql_bat資料夾下。

五、在命令提示符中,執行批處理。

六、這樣就批量執行了sql檔案中的多條sql語句了。

SQL表新增記錄懸賞,關於SQL資料庫「表」的問題,100分懸賞! !十萬火急!!!!! !!!!!啊!!! !!!!!

使用強制轉換就行了,就以你的列子。insert into users names,password values admin convert binary ecfffcecbeac 你是用convert函式,轉換一下就行了,convert形式如下 convert data type length e...

關於SQL表的求助,關於SQL新建表的求助

create table ax system ax system 建立表的名稱 id int auto increment primary key,id 列名int型別,auto increment 自動增長 primary key主鍵 axtitle varchar 200 axtitle 列名v...

sql用update語句一次更新多個欄位應該怎麼寫

update 表名 set 列名1 值,列名2 值2,where 條件 多個欄位可以使用逗號隔開,每一個 欄位名 值 就是賦值,其後的where 條件語句可加可不加 update 表名du set 欄位 zhi1,欄位2,欄位3,select 數值dao1,數值2,數值3,where 條件如果是固 ...