sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan indsætter man en datatabel i SQL Server-databasetabel?

Opret en User-Defined TableType i din database:

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

og definer en parameter i din Stored Procedure :

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

og send din DataTable direkte til 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);
}

For at redigere værdierne i den lagrede procedure kan du erklære en lokal variabel med samme type og indsætte inputtabel i den:

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

Derefter kan du redigere @modifiableTableType :

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


  1. SQL SUM() for begyndere

  2. Tilknytte tabeller ved hjælp af Room-database i Android Studio

  3. Sådan forbinder du med værten PostgreSQL fra vagrant virtualbox-maskine

  4. Plsql for at stave nummer (valuta) til italiensk valuta uden hardkodet oversættelsesnummer