sql >> Database teknologi >  >> RDS >> Sqlserver

Opret en brugerdefineret tabeltype i c# til brug i sql server lagret procedure

Den enkleste mulighed er at oprette en DataTable i C#-kode og send den som en parameter til din procedure. Forudsat at du har oprettet en brugerdefineret tabeltype som:

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

så i din C#-kode ville du gøre:

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

Husk at angive SqlDbType.Structured som parametertype og angiv det navn, du har brugt til at oprette din UDT.



  1. Ikke-opdaterbar kolonne i mysql-tabel

  2. Entity Framework - Rækkestørrelse større end den tilladte maksimale rækkestørrelse på 8060

  3. Debug SQL i pgAdmin, når SQL indeholder variabler

  4. Oprettelse af trigger, der kører på to borde