sql >> データベース >  >> RDS >> Sqlserver

ストアドプロシージャをファイルにスクリプト化する方法は?

    ストアドプロシージャはファイルとして保存されず、メタデータとして保存され、私たちに公開されます( sysschobjs )カタログビュー sys.objects sys.procedures sys.sql_modules 、など。個々のストアドプロシージャの場合、これらのビュー(最も重要なのは sys.sql_modules.definition )を使用して定義を直接クエリできます。 )または OBJECT_DEFINITION()を使用する ニコラスが指摘した として機能する (ただし、彼の syscomments 完全に正確ではありません。

    すべてのストアドプロシージャを1つのファイルに抽出するには、オブジェクトエクスプローラーを開き、サーバー>データベース>データベース>プログラマビリティを展開します。 ストアドプロシージャを強調表示します ノード。次に、 F7を押します (表示> オブジェクトエクスプローラーの詳細 )。右側で、必要なすべてのプロシージャを選択し、右クリックして、スクリプトストアドプロシージャを> create to> file 。これにより、選択したすべての手順を含む単一のファイルが生成されます。プロシージャごとに1つのファイルが必要な場合は、一度に1つのプロシージャを選択するだけでこの方法を使用できますが、面倒な作業になる可能性があります。このメソッドを使用して、すべての会計関連の手順を1つのファイルに、すべての財務関連の手順を別のファイルにスクリプト化することもできます。

    ストアドプロシージャごとに正確に1つのファイルを生成する簡単な方法は、Generateを使用することです。スクリプトウィザード -ここでも、オブジェクトエクスプローラーから開始します-データベースを右クリックして、タスク>スクリプトの生成を選択します。 。 特定のデータベースオブジェクトを選択を選択します トップレベルのストアドプロシージャを確認します 箱。 [次へ]をクリックします。出力には、スクリプトを特定の場所に保存を選択します 、ファイルに保存 、およびオブジェクトごとに1つのファイル。

    これらの手順は、SSMSのバージョンによって若干異なる場合があります。



    1. mysql:IDでグループ化し、IDごとに最高の優先度を取得します

    2. 2つのselectステートメントを結合する

    3. MySQLでテーブルの名前を変更します

    4. 2つのエンティティ間の複数の関係、これは良い習慣ですか?