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

Vložení seznamu<> do tabulky SQL Server

Předpokládám, že říkáte SQL (strukturovaný dotazovací jazyk) a skutečně máte na mysli Microsoft SQL Server (skutečný databázový produkt) místo toho - ne?

Do SQL Serveru nemůžete vložit celý seznam jako celek – musíte vložit jeden řádek pro každý záznam. To znamená, že musíte příkaz INSERT volat vícekrát.

Udělejte to takto:

// 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. Jak hluboce zkopíruji sadu dat a změním odkazy FK tak, aby ukazovaly na všechny kopie?

  2. Je do MySQL vloženo nesprávné celé číslo (2147483647)?

  3. Limity kurzoru dotazu Salesforce API

  4. Vložit více řádků jedním dotazem MySQL