国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

如何用SQL生成SQL批處理文件的方法

2019-11-18 13:14:28
字體:
來源:轉載
供稿:網友

  軟件環境:
  1、Windows NT4.0+Oracle 8.0.4
  2、ORACLE安裝路徑為:C:/ORANT
  
  問題提出:
  1、用戶需要對數據庫用戶下的每一張表都執行一個相同的SQL操作,這時,一遍、一遍的鍵入SQL語句是很麻煩的
  
  實現方法:
  SQL> set heading off  --禁止輸出列標題
  SQL> set feedback off  --禁止顯示最后一行的計數反饋信息
  
  列出當前用戶下所有同義詞的定義,可用來測試同義詞的真實存在性
  select 'desc 'tname from tab where taBType='SYNONYM'
  
  查詢當前用戶下所有表的記錄數
  select 'select '''tname''',count(*) from 'tname'' from tab where tabtype='TABLE'
  
  把所有符合條件的表的select權限授予為public
  select 'grant select on 'table_name' to public;' from user_tables where 《條件》;
  
  刪除用戶下各種對象
  select 'drop 'tabtype' 'tname from tab;
  
  刪除符合條件用戶
  select 'drop user 'username' cascade;' from all_users where user_id>25;
  
  快速編譯所有視圖
  ----當在把數據庫倒入到新的服務器上后(數據庫重建),需要將視圖重新編譯一遍,
  ----因為該表空間視圖到其它表空間的表的連接會出現問題,可以利用PL/SQL的語言特性,快速編譯。
  
  SQL> SPOOL ON.SQL
  SQL> SELECT'ALTER VIEW 'TNAME' COMPILE;' FROM TAB;
  SQL> SPOOL OFF
  然后執行ON.SQL即可。
  SQL> @ON.SQL
  當然,授權和創建同義詞也可以快速進行,如:
  SQL> SELECT 'GRANT SELECT ON 'TNAME' TO 用戶名;' FROM TAB;
  SQL> SELECT 'CREATE SYNONYM 'TNAME' FOR 用戶名.'TNAME'' FROM TAB;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 衡阳县| 大安市| 呼图壁县| 离岛区| 通榆县| 赫章县| 广灵县| 屏南县| 商城县| 抚远县| 天等县| 泸溪县| 土默特左旗| 庆安县| 陵川县| 满洲里市| 淮阳县| 吴江市| 化德县| 台东县| 乌拉特后旗| 临清市| 苍山县| 双江| 施甸县| 藁城市| 清苑县| 洞口县| 林西县| 和田县| 永兴县| 广饶县| 西乡县| 常州市| 米脂县| 得荣县| 新津县| 曲沃县| 天峻县| 新乐市| 樟树市|