网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.查找运行系统里低劣的SQL方法.
.Oracle9i中取得建表和索引的DDL语.
.快速解决Oracle监听器服务不能启.
.Oracle DBA应该定期做什么.
.IE登录Linux上的10g解决em出现乱.
.ORACLE常用傻瓜問題1000問(之八).
.Oracle 数据库向 MS SQL Server .
.ORACLE9i新特性 索引跳跃式扫描的.
.Oracle9i初始化参数中文说明(10).
.Linux中的两个问题及目录组织.
.oracle DBA about logs.
.Oracle 10G数据库的特性简介(收藏.
.甲骨文发布β版11g数据库含182项.
.实例讲解Oracle里抽取随机数的多.
.ORACLE常用傻瓜问题1000问全集(.
.Oracle常用技巧和脚本.
.在Oralce9i内向给定的表对象内插.
.如何确定Oracle数据库表中重复的.
.Spring 调用ORACLE存储过程的结果.
.数据库迁移中的Web翻页优化实例.

如何用SQL生成SQL批处理文件?

发表日期:2008-2-9



问题提出: 
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;
上一篇:Oracle诊断案例:Job任务停止执行 人气:519
下一篇:ora-00604报错 人气:2280
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐