sql >> Databáze >  >> RDS >> Sqlserver

Vytvořte uživatelsky definovaný typ tabulky v c# pro použití v uložené proceduře serveru SQL

Nejjednodušší možností je vytvořit DataTable v kódu C# a předejte jej jako parametr vaší proceduře. Za předpokladu, že jste vytvořili uživatelsky definovaný typ tabulky jako:

CREATE TYPE [dbo].[userdefinedtabletype] AS TABLE(
    [ID] [varchar](255) NULL,
    [Name] [varchar](255) NULL
)

pak ve svém kódu C# uděláte:

DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof (string));
dt.Columns.Add("Name", typeof (string));
//populate your Datatable

SqlParameter param = new SqlParameter("@userdefinedtabletypeparameter", SqlDbType.Structured)
{
    TypeName = "dbo.userdefinedtabletype",
    Value = dt
};
sqlComm.Parameters.Add(param);

Nezapomeňte zadat SqlDbType.Structured jako typ parametru a zadejte název, který jste použili při vytváření UDT.



  1. Zakázat DELETE na tabulce v PostgreSQL?

  2. PostgreSQL:použití počítaného sloupce ve stejném dotazu

  3. Jak vyřešit nejednoznačné názvy sloupců při načítání výsledků?

  4. Standardní řetězce formátu data/času Podporovány FORMAT() na serveru SQL Server