Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Kolom identitas dalam parameter bernilai tabel dalam prosedur, cara mendefinisikan DataTable

Saya memiliki masalah yang sama di mana kami menginginkan identitas pada jenisnya, tetapi tidak ingin memberikan nilai. Kuncinya adalah menggunakan SqlMetaData konstruktor untuk kolom yang menyetel useServerDefault ke true :

Menurut artikel ini di menggunakan tipe tabel yang ditentukan pengguna dengan kolom identifikasi di ado net oleh 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. Cara menanyakan peran pengguna saat ini

  2. Kembalikan Baris yang Mengandung Karakter Non-Alfanumerik di SQL Server

  3. Bagaimana cara menemukan direktori data untuk contoh SQL Server?

  4. Menguasai Penggunaan Stoplist Dengan SQL Server Full-Text Search (FTS)

  5. Faktor-faktor apa yang dapat menyebabkan Kompilasi Ulang Prosedur Tersimpan di SQL Server?