Oracle 中delete truncate 及drop的區別
Oracle 中刪除資料有三種方法:delete truncate drop
其中:delete 刪除資料表中記錄的語句,但是此語句並不能刪除表空間,它只能把被刪除的資料標記為unused。
用法: delete from 表名 where 條件,此過程可以回滾。
如果要刪除全部記錄,可以用truncate,它可以釋放佔用的資料塊表空間。
用法:truncate table 表名;此操作不能回退。
注:在過程中是不允許使用truncate語句的,如果要使用則應寫為(execute immediate ‘truncate table tablename’)。
此外還有drop,不同點是truncate、delete只是刪除資料而不刪除表結構,drop語句則刪除表結構的約束,索引,依賴該表的儲存過程/函式等變為invalid狀態。
Delete是DML,truncate和drop 都是ddl。過程塊是不能直接執行ddl語句的。
另想要對刪除的資料恢復,幾個函式也是有差別的。對於drop刪除的表可以用flash back 找回,而delete誤刪的資料用時間戳找回
相關推薦
Oracle 中delete truncate 及drop的區別
Oracle 中刪除資料有三種方法:delete truncate drop 其中:delete 刪除資料表中記錄的語句,但是此語句並不能刪除表空間,它只能把被刪除的資料標記為unused。 用法: delete from 表名 where 條件,此過程可以回滾。 如果要刪除全部記錄,
oracle中delete、truncate、drop的區別
一、delete 1、delete是DML,執行delete操作時,每次從表中刪除一行,並且同時將該行的的刪除操作記錄在redo和undo表空間中以便進行回滾(rollback)和重做操作,但要注意表空間要足夠大,需要手動提交(commit)操作才能生效,可以通過rollb
Oracle 中 DELETE 與 TRUNCATE 語句的區別及優缺點
通常,我們可以使用 TRUNCATE或 DELETE語句刪除表中的記錄。TRUNCATE語句的通常更高效,但是它的使用需要格外注意。TRUNCATE屬於 DDL語句,這意味著 Oracle會在該語
Oracle中的Truncate和Delete語句
class 單獨 table ted 行記錄 www. 資源 一次 數據 Oracle中的Truncate和Delete語句 首先講一下,truncate命令: 語法:TRUNCATE TABLE table; 表格裏的數據被清空,存儲空間被
ORACLE中NVLl和COALESCE的區別
oracl 第一個 ssi 必須 如果 不一致 miss 兩個 oal nvl(COMMISSION_PCT,0)如果第一個參數為null,則返回第二個參數如果第一個參數為非null,則返回第一個參數 COALESCE(EXPR1,EXPR2,EXPR3...EXPRn)從
ORACLE中SID和SERVICE_NAME的區別
spring 好的 java應用程序 系列 sdn 文件 數據 jdbc 修改 先來講一個小故事,2015年6月份,有個客戶遷移了數據庫,由單實例數據庫變成了RAC。JAVA應用程序出現了無法連接數據庫的情況,但是PL/SQL能連接上數據庫。由於項目比較龐大,
在oracle中操作表及欄位註釋
1、查詢表註釋 SELECT * FROM USER_TAB_COMMENTS;三列:TABLE_NAME,TABLE_TYPE,COMMENTS 2、查詢欄位註釋 SELECT * FROM USER_COL_COMMENTS;三列:TABLE_NAME,COLUMN_NAME,COM
Oracle中CHAR、VARCHAR的區別
1、CHAR。 CHAR儲存定長資料很方便,CHAR欄位上的索引效率級高,比如定義char(10),那麼不論你儲存的資料是否達到了10個位元組,都要佔去10個位元組的空間,不足的自動用空格填充,所以在讀取的時候可能要多次用到trim()。 2、VARCHAR。 儲存變長資料,但儲
oracle中union和union all區別與效能分析
[ 概要 ] 經常寫sql的同學可能會用到union和union all這兩個關鍵詞, 可能你知道使用它們可以將兩個查詢的結果集進行合併, 那麼二者有什麼區別呢? 下面我們就簡單的分析下.
Oracle中Catalog和nocatalog的區別
nocatalog方式:用control file作為catalog,每一次備份都要往控制檔案裡面寫好多備份資訊,控制檔案裡面會有越來越多的備份資訊,即RMAN的備份資訊寫在本地控制檔案裡面。 catalog方式:必須要首先要建立目錄備份資料庫(catalog,也稱知識庫),建立恢復目錄,即資料庫的
oracle中char與varchar2的區別 | 面試
概括:char與varchar2都是Oracle的資料儲存格式。char是定長的,varchar2是變長。都可以儲存字串。 char是定長的 char(10) , varchar2(10)是變長的 當我們同樣存 a ,char佔用了10個字元(a佔一個,另外9個使用空格佔用),varch
ECSHOP後臺SQL查詢提示錯誤 this sql May contain UPDATE,DELETE,TRUNCATE,ALTER,DROP,FLUSH,INSERT
一)、首先說一下錯誤現象:市面上流行的絕大部分ECSHOP模板,安裝的時候都需要執行一段或幾段SQL語句來修改資料結構或者初始化一些資料。大多數ECSHOP管理員為了省事,都會通過 “ECSHOP後臺》資料庫管理 》SQL查詢” 來執行這些SQL語句。這時問題就來了,當你貼上進SQL語句,點“提交查詢”時,系
oracle中in和exists的區別
一直以來,大家認為exists比in速度快,其實是不準確的。且看接下來的具體分析:in其實是將外表和內表進行hash join,exists是先對外表進行loop操作,然後每次loop後再對內表進行查詢。 如果兩張表大小差不多,那麼exi
oracle 中sum和count的區別
例1:查詢出現過2次的name。 往往初學者會錯誤地認為在where 語句裡直接使用count()演算法,很顯然這個想法是錯誤的,count()方法並不能被用在where子句中,為了解決問題,我們可以在group by子句後面使用HAVING來做條件限制。 錯誤做法:select * from aaa
Oracle中Union與UnionAll的區別(union會合並多個重複結果)
轉自:http://www.educity.cn/wenda/389698.html Oracle中Union與UnionAll的區別如果我們需要將兩個select語 句的結果作為一個整 提問者: saixijiaoyu 釋出時間:2014-06-18
oracle中使用者鎖定及解鎖
oracle資料庫安裝好之後,scott之類的使用者預設情況下是被鎖住的,無法使用scott使用者登入資料庫。 使用有alter user資料庫許可權的使用者登陸,角色選sysdba,執行以下命令: 解鎖命令: SQL> ALTER USER 使用者名稱 ACCOUN
JAVA中的日期新增函式ADD和Oracle中的ADD_MONTHS函式的區別
java中2007-02-28加一個月是多少? 加一個月後不是月份的最後一天了 java中2007-03-31加一個月是多少?加一個月後還月份的最後一天 java中2007-02-30
Oracle中資料庫與例項的區別
一個數據庫可以包含一個或者多個例項 例項的定義:由作業系統後臺程序和分配的記憶體區域構成。說 得簡單點就是oracle在nomount狀態就分配了記憶體區域,一個實 例也就差不多快形成了。 例項是個動態概念,它由一系列程序和記憶體區域組成;而資料庫是個靜
Oracle 中 call 和 exec的區別
今天發現了一個小東西,覺得很有意思,查找了一些資料,跟大家分享一下: 在sqlplus中: 在第三方提供的工具(如:plsqldev) 總結: exec是sqlplus的命令,
oracle中drop、delete和truncate的區別
win style 刪除數據 oracl 數據庫 不能 存在 表空間 結構 oracle中可以使用drop、delete和truncate三個命令來刪除數據庫中的表, 1. delete和truncate都是刪除表中的內容而不能刪除表的結構,而drop則是刪除表的結構和內容