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

Klasyczny ADO.NET — jak przekazać UDT do procedury składowanej?

Ten artykuł może być trochę bardziej pomocna.

Zasadniczo utworzysz nowy DataTable, który pasuje do schematu, a następnie przekażesz go jako parametr.

Kod Prepareatatable() prawdopodobnie wyglądałby mniej więcej tak:

var dt = new DataTable();
dt.Columns.Add("Id", typeof(int));
return dt;

Następnie musisz dodać swoje identyfikatory lokalizacji:

foreach(var id in locationIds)
{
    var row = dt.NewRow();
    row["Id"] = id;
    dt.Rows.Add(row);
}

Następnie przypisz dt jako parametr:

var param = cmd.Parameters.AddWithValue("@LocationIDs", dt);
param.SqlDbType = SqlDbType.Structured;
param.TypeName = "dbo.IdentityType";



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Limit na GDZIE kol. W (...) stan

  2. Zapytanie SQL wypełniania zasobnika CTE

  3. Jak pogrupować według dat każdego tygodnia do ostatnich sześciu tygodni w niedziele w sql?

  4. Obejście maksymalnego limitu kolumn SQL Server 1024 i 8kb rozmiaru rekordu

  5. Jak zaszyfrować widok w SQL Server