2016-09-27 7 views
-1

私はポイントを見つけました:
1)削除クエリではロールバックできますが、切り捨てと削除はできません。
しかし、私はして正常削除にロールバックして行われたクエリを実行すると、私たちは、&ドロップを切り捨て、削除の条件でデータをロールバックすることができます&切り捨て削除、削除、切り捨てでロールバックできますか?

をドロップします。 ただし、クエリを実行する前にトランザクションを開始する必要があります。削除、ドロップ&切り捨て。 &切り捨てをドロップし、

Create Database Ankit 

Create Table Tbl_Ankit(Name varchar(11)) 

insert into tbl_ankit(name) values('ankit'); 
insert into tbl_ankit(name) values('ankur'); 
insert into tbl_ankit(name) values('arti'); 

Select * From Tbl_Ankit 

/*======================For Delete==================*/ 
Begin Transaction 
Delete From Tbl_Ankit where Name='ankit' 

Rollback 
Select * From Tbl_Ankit 

/*======================For Truncate==================*/ 
Begin Transaction 
Truncate Table Tbl_Ankit 

Rollback 
Select * From Tbl_Ankit 

/*======================For Drop==================*/ 
Begin Transaction 
Drop Table Tbl_Ankit 

Rollback 
Select * From Tbl_Ankit 
+0

どのdbmsを使用していますか? – jarlh

答えて

0

を切り捨てるロールバックすることはできません。詳細については、this SO答えを参照してください。例についての詳しい説明はthis blogを参照してください。

+0

リンク@PratikのためのThanx –

0

我々は削除にロールバックすることはできます:ここで

は一例ですか?

あなたは、削除ドロップをロールバックのSQLServerに切り捨てるが、Oracleにあなたはそれらのすべてが、詳細ログを生成するため、上記3つのトランザクションのすべてをロールバックすることができ

+0

しかし、stackoverflowリンクによると、私たちはドロップ&トランケートではロールバックできません。私はGoogleで検索し、どこにショー、DROPとTRUNCATE操作をロールバックすることはできませんが、DELETE操作のみロールバックする(元に戻す)ことができます多くのリンクを持っています。 [リンク](http://stackoverflow.com/questions/23008438/sql-truncate-delete-drop-advise)、[リンク](http://www.orafaq.com/faq/difference_between_truncate_delete_and_drop_commands)私はSQLでそれが可能かどうかを知りたいだけですか? –

関連する問題