Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zwracanie wielu tabel z procedury składowanej

Normalnym sposobem jest zdobycie wszystkiego na raz.

po prostu skonstruuj swój SELECT i będziesz miał DataSet wypełnione wszystkimi tabelami.

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();
    }
}

jeśli na przykład zwracasz 2 tabele w swoim SP, np.:

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

uzyskasz dostęp do tych tabel jako:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wprowadzenie do tabel tymczasowych w SQL Server

  2. Uzyskaj identyfikator obiektu z jego nazwy w SQL Server:OBJECT_ID()

  3. Jak wygenerować instrukcję dodawania kolumny dla wszystkich tabel w bazie danych w programie SQL Server — część samouczka SQL Server / T-SQL 49

  4. Wiele wierszy do jednej wartości oddzielonej przecinkami w Sql Server

  5. Zwróć numer partycji dla każdego wiersza podczas wysyłania zapytań do tabeli partycjonowanej w SQL Server (T-SQL)