.pls 和 .sql 文件在 oracle 中的实际区别

Practical difference between .pls and .sql file in oracle

oracle 中.pls 和.sql 文件的实际区别是什么。 两者对不同类型的语句有什么限制?

我在 unix(korn 脚本)中得到一个项目,它在不同的地方同时使用 .sql 和 .pls 文件。试图弄清楚应该在哪里使用。

文件后缀在很大程度上只是一个约定俗成的问题。我们可以使用它们为其他开发人员提供有用的元数据。

所以.pls表明(我们希望)该文件是一个PL/SQL脚本,创建一个PL/SQL包或存储过程。在其他商店中,我们可能会看到 .pks.pkb 分别表示包规范脚本和包体脚本。具有 .tab.tbl 扩展名的文件指示 DDL 创建 table。因为这只是一个约定,所以它需要纪律(或代码审查)来确保我们保持一致。

唯一的区别是 .sql。虽然惯例是它表示一些 SQL(一个查询,或者可能是 DML 或 DDL),但它在 SQL*Plus 中有一个特殊的 属性。如果我们有一个名为 whatever.sql 的脚本,我们可以在 SQL*Plus...

中这样调用它
SQL>  @whatever

...而如果脚本有任何其他扩展名,我们必须在调用中包含扩展名...

SQL>  @whatever.pls

其他 IDE 或其他客户端(例如构建脚本)可以使用文件扩展名作为过滤机制或应用语法突出显示,但它们的规则应始终由首选项控制。

" What are the restrictions on different types of statements in both?"

综上所述,没有任何限制。我工作过的一些地方只使用 .sql 文件,其他地方有一个复杂的脚本动物园:.tbl.idx.vw 等。反社会人士可以只使用 .txt 对于他们所有的文件:数据库不会关心。如果它是有效的 Oracle 语法,代码将 运行.