元の投稿者がまだこれを監視しているかどうかはわかりませんが、とにかく質問します。
元の投稿は次のことができるように要求されました:
作業中の現在の手順を自動的に「ロック」するために、チーム内の他の誰も、あなたが終了するまでその手順に変更を加えることはできません。
おそらく、ここでの問題は、製品がストアドプロシージャを「ロック」できないこと以上の開発パラダイムの1つです。 「これをロックしたいので、他の誰も変更しない」と聞くと、すぐに人々がスキーマを共有していて、全員が同じスペースで開発しているように感じます。
このような場合は、データモデルのコピーを使用して、すべての人に独自のスキーマを持たせてみませんか?私は真剣に人々を意味します、それは別のスキーマを作成するために何も「コスト」がかかりません。そうすれば、各開発者は、他の人に影響を与えることなく、顔が青くなるまで変更を加えることができます。
サイズが原因ですべての開発者にデータの独自のコピーを持たせることが不可能だったときに私が過去に(小さなチームで)使用したもう1つのトリックは、すべてのテーブルとコードを含むマスタースキーマを持つことでした。パブリックシノニムがすべてを指しています。次に、開発者がストアドプロシージャで作業したい場合は、自分ので作成するだけです。 スキーマ。このようにして、Oracleの名前解決は、マスタースキーマのコピーではなく、最初にそれを検出し、他の人に影響を与えることなくコードをテストできるようにします。これには欠点がありますが、これは私たちが彼らと一緒に暮らすことができる非常に特殊なケースでした。明らかに、このようなものを本番環境に実装することは決してありません。
2番目の要件について:
Oracleデータベースのストアドプロシージャで行った変更を、Subversion、CVS、...リポジトリに自動的に送信するには
これを行うのに十分賢いツールを見つけて驚いたでしょう(おそらく機会:)。データベースに接続し、データディクショナリ(USER_SOURCE)をクエリして、関連するテキストを引き出す必要があります。ほぼ普遍的にファイルベースであるソース管理システムの厳しい注文。