Будет ли статический SQL (в отличие от динамического SQL) аннулировать другие пакеты в Oracle - PullRequest
2 голосов
/ 29 сентября 2010

Привет Если я напишу пользовательский пакет, в котором нет ничего, кроме статического SQL, он лишит законной силы другой пакет. (другие сторонние пакеты, которые были отправлены в виде упакованного кода).

сотрудник предлагает мне переписать пользовательский пакет в Dynamic SQL, и я не увижу эту проблему. Мне трудно в это поверить, потому что сторонние пакеты не зависят от моего пользовательского пакета, скомпилированный пакет должен оставаться скомпилированным независимо.

- спасибо

Ответы [ 3 ]

6 голосов
/ 29 сентября 2010

Это сделает недействительными только те пакеты, которые включают ваш пользовательский пакет в качестве зависимости.

Вы должны быть в состоянии доказать это своему коллеге (и себе) в тестовой среде.

1 голос
/ 30 сентября 2010

Компиляция нового пакета ничего не сделает недействительной. По определению, существующий скомпилированный пакет не может ссылаться на ваш новый пакет, который вы еще не создали.

Перекомпиляция существующего пакета (который может иметь некоторые ссылки на него) может, конечно, сделать недействительными существующие пакеты.

0 голосов
/ 04 октября 2010

Нет. Пакет с инструкциями DML вообще не сделает недействительным ни один пакет.

...