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

Jak wstawić tabelę danych do tabeli bazy danych SQL Server?

Utwórz User-Defined TableType w Twojej bazie danych:

CREATE TYPE [dbo].[MyTableType] AS TABLE(
    [Id] int NOT NULL,
    [Name] [nvarchar](128) NULL
)

i zdefiniuj parametr w swojej Stored Procedure :

CREATE PROCEDURE [dbo].[InsertTable]
    @myTableType MyTableType readonly
AS
BEGIN
    insert into [dbo].Records select * from @myTableType 
END

i wyślij swoją DataTable bezpośrednio do serwera sql:

using (var command = new SqlCommand("InsertTable") {CommandType = CommandType.StoredProcedure})
{
    var dt = new DataTable(); //create your own data table
    command.Parameters.Add(new SqlParameter("@myTableType", dt));
    SqlHelper.Exec(command);
}

Aby edytować wartości wewnątrz procedury składowanej, możesz zadeklarować zmienną lokalną tego samego typu i wstawić do niej tabelę wejściową:

DECLARE @modifiableTableType MyTableType 
INSERT INTO @modifiableTableType SELECT * FROM @myTableType

Następnie możesz edytować @modifiableTableType :

UPDATE @modifiableTableType SET [Name] = 'new value'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wyświetlić listę dostępnych wystąpień SQL Server przy użyciu SMO w C#?

  2. Nie można rozpocząć transakcji rozproszonej

  3. Kompresuj określoną partycję w tabeli w SQL Server (T-SQL)

  4. Utwórz zapytanie w SQL Server 2017

  5. Kopiuj tabele z jednej bazy danych do drugiej w SQL Server