1

開発スキーマに SQL ストアド プロシージャを作成しましたが、正常に動作しています。現在、開発コードを製品コードに移行する作業を行っています。これらのストアド プロシージャをあるスキーマから別のスキーマにコピーするにはどうすればよいですか? 対象のスキーマでプロシージャ全体を再コンパイルする必要がありますか? または、これらのプロシージャを対象のスキーマに登録する方法はありますか? ストアド プロシージャをコピーするためのより良い方法を提案してくれる人はいますか?

iSeries ナビゲーター for Windows バージョン 5 リリース 4 を使用してプロシージャーを作成しました。

前もって感謝します、Suresh

4

4 に答える 4

4

ストアド プロシージャを作成するための SQL は、ソース コントロール システム (CVS、SVN など) のプロジェクトの一部としてソース ファイルにある必要があります。

プロジェクトを新しいサーバー (開発、QA、または本番) に「展開」するには、新しいサーバー/データベースでそれらの「ソース SQL」ファイルを実行する必要があります。

実際、データベースへの変更 (テーブル列の変更、新しいテーブルの追加) は、ソース管理の SQL ファイルに保存し、同じ方法で適用する必要があります。

データベース開発ツールは、常にそのように見えるとは限りませんが、SQL もソース コードです。:-)

于 2009-07-06T03:51:58.633 に答える
1

一般に、元のソースは必要ありません。iSeries ナビゲーターを開き、データベースをドリルダウンして、開発 SP を保持するスキーマに移動します。必要なものをすべて選択し、右クリックして [SQL の生成] を選択します。「RunSQL Scripts」で開くことを選択します (オプションで DROP ステートメントを含めます)。

これにより、選択したすべての SP のスクリプトが 1 か所に表示されます。これは、任意の場所に保管できます。また、スクリプトでスキーマ名を変更する必要がある場合は、[編集] -> [置換] を使用できます。

次に、メニュー オプション [接続] -> [一時的な JDBC 設定を使用...] を使用して、新しいスキーマを指すことができます。最後に、ツールバーの [すべて実行] アイコンをクリックして、スクリプトから新しいスキーマに SP を生成します。

つまり、必要なものを iNav の [SQL スクリプトの実行] に選択し、新しいスキーマをポイントして、基本的に 1 回の操作でそれらを作成します。

于 2014-03-23T10:44:22.487 に答える
0

リンクを読んでください。これは役立つかもしれません。 http://weblogs.asp.net/steveschofield/archive/2005/12/31/change-schema-name-on-tables-and-stored-procedures-in-sql-server-2005.aspx

于 2009-07-06T03:46:27.023 に答える
0

私が見つけた (これまでの) 最良の方法は、SQL Management Studio で作業し、Script Procedure As ... メニュー オプションを使用することでした。これにより、sprocs の SQL ソースが生成されます (使用するメニュー オプションに応じて CREATE/ALTER)。

すべての sprocs/ユーザー定義関数を一括コピーする必要がある場合は、[タスク] -> [スクリプトの生成] メニュー オプションを使用します。表示される一連のダイアログで、スクリプトを生成する sprocs/関数を選択し、それらのスクリプトを新しいデータベースで実行できます。

于 2010-05-06T11:53:17.017 に答える