2010-02-04 1 views
5

Использование Oracle 10g.Обновление отдельной процедуры в пакете Oracle

Я пишу сценарий, чтобы применить изменения дельта, внесенные в нашу систему разработки, к нашей сценической системе.

Есть ли способ изменить или вставить отдельную процедуру внутри пакета без включения всего содержимого пакета в мой скрипт? Я думаю, что ответ отрицательный, но я хотел быть уверенным, потому что будет довольно уродливо включать все содержимое любых модифицированных пакетов, когда изменения были небольшими.

+1

Если это кажется уродливым, возможно, ваши пакеты немного на большом размере? - например. если слишком много несвязанных процедур и функций включены в «суперпакеты», может быть хорошей идеей разделить их по логическим строкам на отдельные пакеты. –

ответ

4

Извините, но ваш инстинкт кишки верен. Единицей изменения является ПАКЕТНЫЙ ТЕЛО.

Не знаете, почему вы считаете это уродливым. конечно, это просто вызов сценария для пакета?

2

Нет, корпус упаковки должен быть заменен в целом. Вместо того, чтобы включать код для нескольких пакетов в один скрипт, я бы создал файл для каждой спецификации пакета и файл для каждого тела пакета. Затем вы можете написать «мета-скрипт» для выполнения необходимых изменений пакета в SQL Plus:

@@package1.spc 
@@package1.bdy 
@@package2.bdy 
+0

вы можете сломать эту концепцию еще дальше и иметь файл для каждой процедуры в заголовке и корпусе пакета. Таким образом, ваш «мета-сценарий» может объединить куски, которые ему нужны во время сборки, но облегчает отслеживание изменений в вашей системе управления версиями, особенно для крупных процедур. – ninesided

+0

Вы имеете в виду разбивку сценария тела пакета на несколько файлов с каждой процедурой тела пакета в отдельном файле? Ик. Подумайте, я бы избегал этого. Изменение отслеживания проще в одном файле с разностями. –

+0

Нет, нет, нет, я не это имел в виду! Каждый файл содержит одну ** полную ** спецификацию пакета или тело. –

0

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

Смежные вопросы