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

ストアドプロシージャから複数のテーブルを返す

    通常の方法は、一度にすべてを取得することです。

    SELECTを作成するだけです の場合、DataSetが作成されます すべてのテーブルでいっぱいです。

    using (System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(myConnString))
    {
        using (System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand())
        {
            cmd.CommandText = "myMultipleTablesSP";
            cmd.Connection = conn;
            cmd.CommandType = CommandType.StoredProcedure;
    
            conn.Open();
    
            System.Data.SqlClient.SqlDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter(cmd);
    
            DataSet ds = new DataSet();
            adapter.Fill(ds);
    
            conn.Close();
        }
    }
    

    たとえば、SPで次のように2つのテーブルを返す場合:

    SELECT * FROM [TableA];
    SELECT * FROM [TableB];
    

    このテーブルには次のようにアクセスします:

    DataTable tableA = ds.Tables[0];
    DataTable tableB = ds.Tables[1];
    


    1. nullvalue:SQLiteでNULL値を表示

    2. AWS RDSでのMySQLからPostgreSQLへの移行、パート2

    3. PostgreSQLでデータベースとテーブルを一覧表示する方法

    4. MySQLはCONCAT条件で選択します