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

Kolumna tożsamości w parametrze wycenianym w tabeli w procedurze, jak zdefiniować DataTable

Miałem ten sam problem, gdy chcemy tożsamości typu, ale nie chcemy podawać wartości. Kluczem do sukcesu jest użycie SqlMetaData konstruktor dla tej kolumny, która ustawia useServerDefault na true :

Zgodnie z tym artykułem na używanie typu tabeli zdefiniowanej przez użytkownika z kolumną identyfikacyjną w ado net autor:Tim Van Wassenhove

SQL :

CREATE TYPE [Star].[example] AS TABLE(  
  [Ordinal] [int] IDENTITY(1,1) NOT NULL,  
  [Name] [nvarchar](200) NOT NULL,
)

C# :

var sqlMetaData = new[] 
{  
  new SqlMetaData("Ordinal", SqlDbType.Int, true, false, SortOrder.Unspecified, -1),   
  new SqlMetaData("Name", SqlDbType.NVarChar, 200)
};

sqlRecords = new HashSet<SqlDataRecord>(usersToInclude.Select(user =>
{   
  var record = new SqlDataRecord(sqlMetaData);   
  record.SetString(1, user.Name);   
  return record; 
}));

new SqlMetaData("IdentityField", SqlDbType.Int, true, false, SortOrder.Unspecified, -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. Eksportuj tabelę do pliku z nagłówkami kolumn (nazwami kolumn) za pomocą narzędzia bcp i SQL Server 2008

  2. Dołączanie do tabeli na podstawie wartości oddzielonych przecinkami

  3. konwertowanie rowversion serwera sql na long lub ulong?

  4. Wymuszanie zdalnego filtrowania zapytania SQL zamiast lokalnego

  5. Konwersja liczby na stopy i cale