<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Decode360's Blog

    業精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
      397 隨筆 :: 33 文章 :: 29 評論 :: 0 Trackbacks
    關于模式對象的一些操作技巧
    ?
    ?
    ??? 模式對象基本上已經都介紹完了,還需要在做一些掃尾的工作,將一些小的操作技巧稽核在一起介紹一下。因為太小的操作技巧,而且本身的內容也很簡單,不值得花費太多的篇幅來記載,所以專門花一篇的篇幅來總結這些東西。
    ?
    ?
    一、用CREATE SCHEMA創建多個對象
    ?
    ??? Oracle可以使用CREATE SCHEMA語句來同時創建多個對象,用原話就是:Use the CREATE SCHEMA statement to create multiple tables and views and perform multiple grants in your own schema in a single transaction.
    ?
    ??? 操作的語法很簡單,看下面的例子就可以完全掌握:
    ?
    ??? create schema authorization test
    ??? create table t11(a int,b int)
    ??? create view t111 as select * from t11
    ??? grant select on t111 to wangxiaoqi;
    ?
    ??? 需要說明的問題有3點:
    ?
    ??? 1、這個語句不是用來創建schema的,而是創建schema中的對象,即user是需要事先創建好的
    ??? 2、DBA默認不具備執行其他用戶的schema,即必須以authorization后面的user登錄方可執行該語句
    ??? 3、該語句只支持CREATE TABLE、CRAETE VIEW、GRANT三個語句
    ?
    ?
    二、重命名模式對象
    ?
    ??? 絕大多數的object都是可以重命名的,語法是:RENAME ... TO ...
    ?
    ??? 舉例(無需指名類型):
    ?
    ??? rename t11 to t22;
    ??? rename t111 to t222;
    ?
    ??? 說明:
    ?
    ??? 1、支持的類型有:table、view、sequence、synonym
    ??? 2、當rename時,對象的constraint、index也相應更新
    ??? 3、不支持:PLSQL單元、public synonym、index、cluster
    ?
    ?
    三、刪除表和簇
    ?
    ??? 用于刪除Oracle中的表的命令有3種,分別是delete、drop、truncate,來看一下各自的語法:
    ?
    ??? delete from t11; --可以加where子句
    ??? drop table t11;
    ??? truncate table t11;
    ?
    ??? 關于具體的truncate用法和這三種刪除方法的比較,在我之前的文章《Truncate Table介紹》里有比較詳細的介紹,可以看哪個內容。
    ?
    ?
    四、啟用/停用Trigger
    ?
    ??? 啟用和停用觸發器的語法也還是比較簡單的,看一下吧:
    ?
    ??? alter trigger xxxx enable;
    ??? alter table xxxx enable all trigger;
    ?
    ??? alter trigger xxxx disable;
    ??? alter table xxxx disable all trigger;
    ?
    ??? 觸發器的停用,一般是由于以下幾個原因:
    ?
    ??? 1、觸發器的參照對象當前不可用
    ??? 2、需要執行大量裝載而又不希望激活觸發器
    ??? 3、正在往使用觸發器的表里裝載數據
    ?
    ??? 需要專門說明的是,以下幾種情況,觸發器會被隱式激活:
    ?
    ??? 1、在一個相關的表上執行DML
    ??? 2、在數據庫或模式中的對象上執行某DDL語句
    ??? 3、特殊的數據庫時間發生(startup、shutdown、servererror)
    ?
    ?
    五、對象的依賴性
    ?
    ??? 對象如果被修改之后,依賴于它的其它對象很有可能也會受到影響,變成INVALID狀態,這個關系比較復雜,用一張圖表示:
    ?
    ??? rely
    ?
    ??? 要將INVALID的OBJECT變為VALID很簡單,只需要重新編譯即可,語法如下:
    ?
    ??? alter view xxxx compile;
    ??? alter procedure xxxx complie;
    ??? alter package xxxx compile body;
    ??? alter package xxxx compile package;
    ?
    ?
    ?
    posted on 2009-07-19 22:36 decode360 閱讀(179) 評論(0)  編輯  收藏 所屬分類: 08.DBA
    主站蜘蛛池模板: 国产精品午夜免费观看网站| 不卡精品国产_亚洲人成在线| 91在线免费观看| 亚洲国产精品无码中文lv| 久久精品国产亚洲AV麻豆网站| 精品国产人成亚洲区| 国产在线播放免费| 无人在线观看完整免费版视频| 人妻无码久久一区二区三区免费 | 91老湿机福利免费体验| 亚洲日韩在线观看免费视频| 亚洲乱码日产精品一二三| 亚洲一区在线视频观看| 久久久久亚洲AV无码永不| 亚洲爆乳无码专区| 亚洲线精品一区二区三区影音先锋| 国产一区二区视频免费| 夫妻免费无码V看片| 成年人视频在线观看免费| 麻豆一区二区免费播放网站| 91禁漫免费进入| 91成人在线免费视频| 亚洲视频在线免费观看| 国产精品免费看久久久| 在线看片免费人成视频播| 国产成人免费AV在线播放| 999zyz**站免费毛片| 日批视频网址免费观看| 免费毛片在线看不用播放器| 最新亚洲成av人免费看| 国产精品网站在线观看免费传媒| 中文字幕免费视频精品一| 免费福利在线视频| 99免费视频观看| 在线观看成人免费视频不卡| 性短视频在线观看免费不卡流畅| 我们的2018在线观看免费高清| 最近高清国语中文在线观看免费| 亚洲成在人线aⅴ免费毛片| 最近免费中文字幕大全| 日本免费人成黄页网观看视频|