Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да вмъкна таблица с данни в таблица на база данни на SQL Server?

Създайте User-Defined TableType във вашата база данни:

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

и дефинирайте параметър във вашата Stored Procedure :

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

и изпратете вашата DataTable директно към 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);
}

За да редактирате стойностите в съхранената процедура, можете да декларирате локална променлива със същия тип и да вмъкнете входна таблица в нея:

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

След това можете да редактирате @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. Актуализиране на стъпка на задание за задача на агент на SQL Server (T-SQL)

  2. Мониторинг на изпълняваните заявки на SQL Server

  3. Списък на всички индексни и индексни колони в SQL Server DB

  4. SQL Server:ИЗБЕРЕТЕ само редовете с MAX(DATE)

  5. Как да намерите последния ден от месеца в SQL Server