sql >> Databáze >  >> RDS >> Sqlserver

Jak vložit datovou tabulku do databázové tabulky SQL Serveru?

Vytvořte User-Defined TableType ve vaší databázi:

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

a definujte parametr ve vaší Stored Procedure :

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

a odešlete DataTable přímo na sql server:

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

Chcete-li upravit hodnoty uvnitř uložené procedury, můžete deklarovat lokální proměnnou stejného typu a vložit do ní vstupní tabulku:

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

Poté můžete upravit @modifiableTableType :

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


  1. Jak mohu uzamknout tabulku při čtení pomocí Entity Framework?

  2. Export tabulky z Amazon RDS do souboru CSV

  3. Jak získat název měsíce z data v Oracle

  4. Uložená procedura, která exportuje data do souborů csv, exportuje pouze do jednoho souboru