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

ストアド プロシージャとビューの違いは何ですか?

    ビューは仮想を表します テーブル。ビューで複数のテーブルを結合し、そのビューを使用して、データが 1 つのテーブルから来ているかのようにデータを表示できます。

    ストアド プロシージャは、パラメータを使用して関数を実行します...データの更新と挿入、または単一の値またはデータ セットの返しなどです。

    ビューとストアド プロシージャの作成 - それぞれをいつ、どのような理由で使用するかについて、Microsoft からの情報があります。

    2 つのテーブルがあるとします:

    • tbl_user 、列:user_iduser_nameuser_pw
    • tbl_profile 、列:profile_iduser_id , profile_description

    したがって、これらのテーブルから多くのクエリを実行していることに気付いた場合... SQL のすべての部分で結合を行う代わりに、次のようなビューを定義します:

    CREATE VIEW vw_user_profile
    AS
      SELECT A.user_id, B.profile_description
      FROM tbl_user A LEFT JOIN tbl_profile B ON A.user_id = b.user_id
    GO
    

    したがって、 profile_description を照会したい場合 user_id による 将来、私がしなければならないことは:

    SELECT profile_description FROM vw_user_profile WHERE user_id = @ID
    

    そのコードは、次のようなストアド プロシージャで使用できます:

    CREATE PROCEDURE dbo.getDesc
        @ID int
    AS
    BEGIN
        SELECT profile_description FROM vw_user_profile WHERE user_id = @ID
    END
    GO
    

    したがって、後で呼び出すことができます:

    dbo.getDesc 25
    

    user_id の説明を取得します 25、ここで 25 はあなたのパラメータです。

    明らかにもっと多くの詳細がありますが、これは単なる基本的な考え方です.



    1. VB.NETの接続文字列にフェールオーバーパートナーを追加する方法

    2. PaypalIPNはサンドボックスで有効ですライブ時には無効です

    3. リモートアクセス用のMysql追加ユーザー

    4. SQLクロス集計機能