sql >> Database >  >> RDS >> Sqlserver

Hoe een gegevenstabel invoegen in de SQL Server-databasetabel?

Maak een User-Defined TableType in uw database:

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

en definieer een parameter in uw Stored Procedure :

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

en stuur uw DataTable rechtstreeks naar 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);
}

Om de waarden in de opgeslagen procedure te bewerken, kunt u een lokale variabele van hetzelfde type declareren en daarin een invoertabel invoegen:

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

Vervolgens kunt u @modifiableTableType . bewerken :

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


  1. Oracle - komt letterlijk niet overeen met formaattekenreeksfout

  2. Hoe Atan2() werkt in PostgreSQL

  3. Wachten op localhost, voor altijd!

  4. Index voor het vinden van een element in een JSON-array