--登录:
> sqlplus ( < username > [/ < password > ][@ < connect_identifier > ] | /) [AS SYSDBA | AS SYSOPER] | /NOLOG
SQL> desc user_source;
--查看:
SQL> select TEXT from user_source where TYPE ='PROCEDURE' and NAME = 'Your_Procedure_name' ;
--执行:
SQL> var out_var number
exec Your_Procedure_name ( '' , '' , '' ,:out_var)
print out_var
--编译:
alter procedure procedure_name compile;
--重新编译所有invalid存储过程:
spool ExecCompProc.sql
select 'alter procedure '||object_name||' compile;' From all_objects where status = 'INVALID' and object_type = 'PROCEDURE';
spool off
@ExecCompProc.Sql;
整理成一个存储过程
Create Or Replace Procedure Zl_Compile_Invalid_Procedure As
Strsql Varchar2(200);
Begin
For x In (Select Object_Name From All_Objects Where Status = 'INVALID' And Object_Type = 'PROCEDURE') Loop
Strsql := 'Alter Procedure ' || x.Object_Name || ' Compile';
Begin
Execute Immediate Strsql;
Exception
--When Others Then Null;
When OTHERS Then dbms_output.put_line(Sqlerrm);
End;
End Loop;
End;
执行
exec Zl_Compile_Invalid_Procedure;
如果要看到无法重编译的过程的出错信息,需要执行前设置set serverout on
分享到:
相关推荐
在日常的数据库管理工作中,经常需要对数据库进行批量操作,例如批量执行SQL脚本、更新存储过程等。在这些场景下,使用Oracle提供的命令行工具SQLPlus来批量执行SQL文件是一种非常实用且高效的方法。 #### 一、准备...
存储过程是预编译的SQL和PL/SQL代码块,存储在数据库中,可以被多次调用,以提高性能并简化应用程序的维护。它们允许开发人员封装复杂的业务逻辑,减少网络流量,并提供更安全的数据访问方式。 在Windows上,我们...
2. 存储过程与函数:使用`CREATE PROCEDURE`和`CREATE FUNCTION`定义,执行时用`EXEC`调用。 3. 触发器:`CREATE TRIGGER`创建触发器,自动响应特定的数据库事件。 4. PL/SQL块:结合SQL语句与控制结构,如`BEGIN....
5. **PL/SQL支持**:对于Oracle数据库,能够执行存储过程和函数。 6. **自动完成**:可能包含代码补全功能,提高输入效率。 7. **错误处理和日志记录**:记录执行错误和操作历史,便于问题排查。 8. **命令别名**:...
此外,它还支持批处理操作,可以执行存储过程,以及生成报告和脚本。 在Oracle数据库中,SQLPlus不仅仅是一个查询工具,它还可以用来进行数据库的日常维护,例如备份、恢复、性能调优等。通过SQLPlus,DBA(数据库...
对于数据库开发人员而言,理解并能够使用PL/SQL(Procedural Language/SQL)编写存储过程、函数、触发器和包,扩展SQL*Plus的功能,是提高数据库开发能力的关键。 总之,Oracle SQL*Plus是一个功能强大的工具,它的...
6. **PL/SQL支持**:除了SQL,SQLPLUS还支持Oracle的PL/SQL编程,可以编写存储过程、函数等。 7. **批处理和绑定变量**:使用`ACCEPT`命令可以接受用户输入,`BIND`变量允许在多个SQL语句中重用值,提高效率。 8. ...
5. 存储过程和函数:`CREATE PROCEDURE proc_name (...) AS ... BEGIN ... END;` 七、SQLPLUS实用技巧 1. 使用`WHENEVER OSERROR`和`WHENEVER SQLERROR`处理错误。 2. `CONNECT`命令重新连接数据库。 3. `SHOW USER...
4. **导出存储过程**: 存储过程是一组预编译的SQL语句,它们可以封装在数据库中并按需调用。导出存储过程对于维护和备份数据库的逻辑操作至关重要。在DB2中,可以使用`db2getsql`命令,而在Oracle中,可以使用`expdp...
可能涵盖更高级的主题,如存储过程的开发与调试,触发器,游标,动态SQL,以及高级的PL/SQL编程。这将帮助用户深入理解数据库的运作机制,并提高自动化和数据处理能力。 综上,SQLPlus作为Oracle数据库管理员和开发...
描述:本文旨在提供Oracle数据库中SQLPLUS语句的全面指南,涵盖了SQLPLUS环境的各种配置选项和实用命令,帮助用户更高效地管理和操作数据库。 ### SQLPLUS命令详解 #### 1\. 设置自动提交 使用`SET AUTO[COMMIT]`...
SQLPlus是Oracle数据库系统中的一个命令行工具,用于执行SQL语句、管理数据库以及进行基本的数据操作。在“Oracle官方文档中文版-SQLPlus入门”中,你可以学习到如何有效地利用这个工具进行数据库管理和开发工作。...
SQLPLUS支持通过`START`或`@`命令来执行存储在文本文件中的SQL脚本,极大地提高了效率。例如: ```sql SQL> START file_name SQL> @file_name ``` 这两个命令等效,用于执行名为`file_name.sql`的脚本文件。这种...
总的来说,Oracle的PL/SQL和SQL*Plus是数据库管理员和开发人员的强大工具,它们提供了丰富的功能,用于编写复杂的数据库逻辑,执行高效的数据操作,以及维护和管理存储过程、函数和触发器等数据库对象。通过这些实践...
总的来说,PL/SQL创建存储过程是数据库管理和运维中常用的操作,它能提高代码复用性,简化复杂任务,提高数据库性能。了解并熟练掌握存储过程的创建与执行是每一个Oracle DBA和开发人员必备的技能。在实际工作中,...
在单机环境下,启动Oracle系统通常需要切换到Oracle用户,并运行`sqlplus /nolog`连接到系统,然后用`connect / as sysdba`以SYSDBA权限登录,接着执行`startup`命令来启动数据库。相反,关闭数据库可以使用`...
- 运行PL/SQL块:SQL*Plus支持编写和执行存储过程、函数、触发器等PL/SQL代码。 - 输出格式化:使用`SET`命令可以调整输出格式,如行宽、列间距、是否显示表头等。 - 错误处理:使用`WHENEVER OSERROR`和`...
### Oracle SQLPlus中Spool命令的使用详解 在Oracle数据库管理与开发过程中,SQLPlus作为一款功能强大的命令行工具被广泛使用。其中,`spool`命令是SQLPlus中的一个重要特性,它允许用户将SQL查询结果或命令输出到...
- **基表的概念**:基表是关系数据库中的核心数据结构,用于存储具体数据。例如,`EMP`表包含了员工的信息,如员工编号、姓名、职位等。 - **表结构示例**:如`EMP`表所示,每个表有一个唯一的名称,如`EMP`,并且...