4


SQL Server Management Studio 2008を 使用して、各リビジョンのスクリプトを保存するために、各ストアドプロシージャの変更スクリプトを生成しようとしています。個々のプロシージャごとに変更スクリプトを簡単に生成できますが、100個のストアドプロシージャを手動で実行しようとはしていません。

SSMSにはタスクの下で自動化されたスクリプト生成機能があることを知っていますが、オプションは作成、ドロップ、作成、およびドロップのみです。変更を有効にする方法がわからないようです。私はすでに多くのSO記事を検索し、msdnを少し掘り下げましたが、何も思いつきませんでした。

私はstackoverflowの優秀な人々が挑戦することを望んでいます。前もって感謝します

4

4 に答える 4

5

AdvancedScriptingOptionsのCHECKFOROBJECTEXISTENCEオプションを使用します。スクリプトには、スクリプトを作成するストアドプロシージャごとに、 IF NOT EXISTS...CREATEコマンドとALTERの下のセットが含まれます。

于 2014-06-06T09:22:51.037 に答える
3

これはあまりエレガントなソリューションではありませんが、間違いなく機能します。createスクリプトを生成してから、CREATEPROCEDUREのすべてのオカレンスをALTERPROCEDUREに置き換えてみませんか。

于 2013-03-05T08:15:11.683 に答える
1

次のように、SQL SERVER Management Studioからストアドプロシージャを自動的に生成できます。1)データベースを右クリック->タスク->スクリプトの生成2)[特定のデータベースオブジェクト]を選択し、スクリプトを生成するテーブル/ストアドプロシージャを選択します。 「次へ」を押します。3)このウィンドウで、スクリプトを保存する場所を選択できます。次に、「詳細」オプションが表示されたら、それをクリックします。次に、「スクリプトの削除と作成」オプションがあります。作成、削除、削除、作成の3つのオプションがあります。必要に応じて1つ選択してください。4)次に、[OK]、[次へ]の順に押すと、スクリプトが自動的に生成されます。

作成から変更に変更する場合は、任意のテキストエディタを使用して「すべて置換」操作を実行します。この答えが他の人に役立つことを願っています。

于 2013-10-01T13:11:30.023 に答える
-2

さて、ドロップ/作成は変更と同じです。alterを使用することを指定することにより、ターゲットオブジェクトが存在することを確認できます。オブジェクトエクスプローラーからグループを選択し、右クリックして[DROP/Create]を選択してみませんか。これは同じことをするはずです。

于 2013-03-05T04:02:30.967 に答える