Суффикс файла в значительной степени является предметом соглашения. Мы можем использовать их для предоставления полезных метаданных другим разработчикам.
So .pls
указывает (мы надеемся), что файл является PL/SQL-скриптом, создающим PL/SQL-пакет или хранимую процедуру. В других магазинах мы можем увидеть .pks
и .pkb
, чтобы указать скрипт спецификации пакета и сценарий тела пакета соответственно. Файл с расширением .tab
или .tbl
указывает DDL для создания таблицы. Поскольку это всего лишь конвенция, она требует дисциплины (или обзоров кода), чтобы убедиться, что мы остаемся последовательными.
Единственное отличие: .sql
. Хотя соглашение состоит в том, что он представляет собой некоторый SQL (запрос или, возможно, DML или DDL), он имеет специальное свойство в SQL * Plus. Если у нас есть сценарий под названием whatever.sql
мы можем назвать это как это в SQL * Plus ...
SQL> @whatever
... а если скрипт имеет любое другое расширение, мы должны включать в себя расширение в вызове ...
SQL> @whatever.pls
других IDES или другие клиенты (например скрипты) может использовать расширение файлов в качестве фильтрующих механизмов или для применения подсветки синтаксиса, но их правила всегда должны контролироваться предпочтениями.
«Каковы ограничения на разные типы операторов в обоих?»
Подводя итог, нет никаких ограничений. В некоторых местах, где я работал, использовались только файлы .sql
, у других был сложный зверинец сценариев: .tbl
, .idx
, .vw
и т. Д. Социопаты могут использовать только .txt
для всех своих файлов: в базе данных все равно. При условии, что это синтаксис Oracle, код будет работать.
Я помню дни, когда различные файлы были разбросаны по коду внутри - не подкреплены, не поддаются проверке без его выполнения. Вы должны сделать себе одолжение и перенести весь этот код на упакованные процедуры в базе данных, используя DBMS_Scheduler для любых требований к планированию. –