簡體   English   中英

當我們在oracle中刪除表和包時會發生什么?

[英]What happen when we drop table & package in oracle?

我創建了一個新表,編寫了程序包,並為該程序包的一個用戶提供了執行權限。 是否有必要為這些任務創建回滾腳本?

  • 刪除表后,觸發器也將被刪除。 我對嗎?

  • 刪除軟件包時,執行權限將自動刪除。 我對嗎?

  1. 是的,觸發器必須始終用於表或視圖-因此,如果刪除表(或視圖,視情況而定),該對象上的所有觸發器也會被自動刪除。*

  2. 是的,特權始終在對象上-如果刪除對象(例如,包),則該對象上的所有特權也將丟失。

如果隨后CREATE具有相同名稱的新對象,則舊的觸發器和特權不會神奇地重新出現-您必須手動添加它們。

或者,如果您CREATE OR REPLACE軟件包,則原始軟件包的特權將保留。 同樣,如果您ALTER表,觸發器將不受影響。

*在Oracle 11g中,默認情況下,已刪除的表被移至回收站。 如果表中有任何觸發器,它們也將移至回收站。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM