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

Indsættelse af en liste<> i SQL Server-tabel

Jeg går ud fra, at du siger SQL (struktureret forespørgselssprog), og du mener virkelig Microsoft SQL Server (det faktiske databaseprodukt) i stedet - ikke?

Du kan ikke indsætte en hel liste som en helhed i SQL Server - du skal indsætte en række for hver post. Det betyder, at du skal kalde INSERT-sætningen flere gange.

Gør det sådan her:

// define the INSERT statement using **PARAMETERS**
string insertStmt = "INSERT INTO dbo.REPORT_MARJORIE_ROLE(REPORT_ID, ROLE_ID, CREATED_BY, CREATED) " + 
                    "VALUES(@ReportID, @RoleID, 'SYSTEM', CURRENT_TIMESTAMP)";

// set up connection and command objects in ADO.NET
using(SqlConnection conn = new SqlConnection(-your-connection-string-here))
using(SqlCommand cmd = new SqlCommand(insertStmt, conn)
{
    // define parameters - ReportID is the same for each execution, so set value here
    cmd.Parameters.Add("@ReportID", SqlDbType.Int).Value = YourReportID;
    cmd.Parameters.Add("@RoleID", SqlDbType.Int);

    conn.Open();

    // iterate over all RoleID's and execute the INSERT statement for each of them
    foreach(int roleID in ListOfRoleIDs)
    {
      cmd.Parameters["@RoleID"].Value = roleID;
      cmd.ExecuteNonQuery();
    }

    conn.Close();
}      


  1. Liste over alle databaser fra en sammenkædet server i SQL Server (T-SQL-eksempler)

  2. Best Practices for Microsoft SQL Server Disaster Recovery

  3. Forbinder FlySpeed ​​SQL Query til Salesforce.com

  4. ver.2 PyGreSQL FEJL:fra _pg import * ImportError:DLL-indlæsning mislykkedes:Det angivne modul kunne ikke findes