繁体   English   中英

如何编译 Oracle SQL 脚本?

[英]How do I compile Oracle SQL scripts?

我有一系列 SQL 文件,我想编译所有这些文件。 如果使用底栖软件手动进行,则需要很长时间。 我尝试使用 TOAD,但我不喜欢使用破解软件。 你能帮我执行一个 SQL 文件吗? 我想写一个程序来为我做一些事情。

从 sql/plus 我尝试创建批处理文件,但在我的一些 sql 文件中,开发人员使用了“/”和“;” 所以它导致 sql/plus 突然停止编译。 请建议或推荐免费软件以提供帮助。

“我想申请 sql package, function 如果它们无效,请再次编译它们”

我正在使用 oracle 10g。

谢谢

  • 如果您搜索 TOAD 之类的东西,请尝试SQL Developer ,这是 Oracle 的免费工具。

  • 如果要重新编译数据库中的现有源,可以使用dbms_utility.compile_schema

  • 如果您尝试批量安装多个文件, SQL*Plus应该适合您。 确保您的文件具有正确的格式。

听起来您需要运行一个大型 sql 脚本。 正确的? Sql/Plus 应该可以工作,但如果你想要一个免费的 IDE,我推荐 SQL Developer。 它并不完美,但它是更好的免费解决方案之一。

“在我的一些 sql 文件中,开发人员使用了“/”和“;””

您需要始终如一地使用这些,才有希望使用工具进行部署。 您不希望必须使用 GUI 进行部署,因此 SQL*Plus 是目标的标准。 一个好的 Oracle GUI 应该能够运行 SQL*Plus 部署脚本。

我通常从 SET DEFINE OFF 开始,否则意外的 & 符号 (&) 会导致问题。 做一些基本的 grepping - 任何带有 CREATE PACKAGE、CREATE PROCEDURE、CREATE TRIGGER 或 CREATE TYPE(包括 CREATE OR REPLACE)的脚本都应该有一个“/”来执行该语句。 如果他们不这样做,请修复它们。

不过,对于第一次运行,我会以 10 个为一组,直到我确定它们执行正确为止。 只要它们加载,我就不会担心编译错误。 之后,您可以重新编译架构中的任何无效对象。

然后检查 USER_ERRORS 以查看仍然损坏的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM