My FAQ,最新最全的IT技术FAQ
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 未整理篇 | 技术讨论
  当前位置: > 程序开发 > 数据库开发 > Oracle
快速编译sql过程和视图的脚本
作者:未知 时间:2005-09-13 23:41 出处:Blog.ChinaUnix.net 责编:My FAQ
              摘要:快速编译sql过程和视图的脚本
常常遇到因为过程或者视图没有被编译,,而无法正常运行基于存储过程的数据库程序。
用以下几句sql语句,用于在程序执行之前,自动编译。省去了我们的麻烦

/***************************************pro.sql****************************************/
#用于快速编辑过程
set feedback off
set heading off
spool c:\pro.sql;
#编译过程
select 'alter procedure '||OBJECT_NAME||' compile;' from sys.all_probe_objects where OWNER='UserName' and OBJECT_TYPE='PROCEDURE' and STATUS='INVALID';
spool off;
@c:\pro.sql;
#编译视图
spool c:\pro.sql;
select 'alter view '||OBJECT_NAME||' compile;' from sys.all_probe_objects where OWNER='UserName' and OBJECT_TYPE='view' and STATUS='INVALID';
spool off;
@c:\pro.sql;
exit;

#select * from sys.all_objects where object_type in ('TABLE', 'VIEW' ) and STATUS!='VALID';

/**************************************************pro.bat ******************************************************/
set ORACLE_SID=DB_NAME;
sqlplus username/password @F:\shell\pro.sql
用于执行,这个sql语句

/*

/**************************************************exec.bat*****************************************************/
加入at 计划任务
net stop schedule
net start schedule
at 23:00 /every:M,T,W,Th,F,S,SU F:\shell\pro.bat

////////////////////////////////////////////////////////////////////The End ///////////////////////////////////////////////////////////////////////////////////

 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn 版权所有