Не съм сигурен дали оригиналният плакат все още следи това, но все пак ще задам въпроса.
Първоначалната публикация поиска да може да:
За да „заключите“ автоматично текущата процедура, с която работите, никой друг в екипа не може да я промени, докато не приключите.
Може би проблемът тук е в парадигмата на разработката повече от неспособността на продукт да „заключи“ съхранения процес. Винаги, когато чуя „Искам да заключа това, така че никой друг да не го променя“, веднага получавам чувството, че хората споделят схема и всички се развиват в едно и също пространство.
Ако случаят е такъв, защо просто не позволите на всеки да има своя собствена схема с копие на модела на данни? Имам предвид сериозно хора, не "коства" нищо да създадеш друга схема. По този начин всеки разработчик може да прави промени, докато лицето им не стане синьо, без да засяга никой друг.
Друг трик, който използвах в миналото (при малки екипи), когато не беше възможно да се позволи на всеки разработчик да има свое собствено копие на данните поради размера, беше да има главна схема с всички таблици и код в нея, с публични синоними, сочещи към всичко това. След това, ако разработчикът иска да работи върху съхранен процес, той просто го създава в своя схема. По този начин разделянето на имената на Oracle открива това първо вместо копието в основната схема, което им позволява да тестват своя код, без да засягат някой друг. Това наистина има своите недостатъци, но това беше много специфичен случай, в който можехме да живеем с тях. Очевидно НИКОГА не бих внедрил нещо подобно в производството.
Що се отнася до второто изискване:
За автоматично изпращане на промените, които правите в съхранената процедура, в база данни на Oracle, в хранилище Subversion, CVS,...
Ще се изненадам да намеря инструменти, достатъчно интелигентни, за да направя това (може би възможност :). Ще трябва да се свърже с вашата db, да потърси речника на данните (USER_SOURCE) и да изтегли свързания текст. Изключително много за системите за контрол на източника, където са почти универсално базирани на файлове.