sql >> データベース >  >> RDS >> Sqlserver

パラメータを使用して複数の行を挿入 SQL Server

    テーブル値パラメータを使用できます:.net コードからテーブル値パラメータをストアド プロシージャに渡す方法

    まず、SQL Server で型を作成します:

    CREATE TYPE [dbo].[myTvpType] AS TABLE ([RecordID] int, [TagID] int)  

    データを挿入する C# コード:

    internal void InsertData(SqlConnection connection, Dictionary valuesToInsert){ using (DataTable myTvpTable =CreateDataTable(valuesToInsert)) using (SqlCommand cmd =connection.CreateCommand()) { cmd.CommandText ="INSERT INTO myTable SELECT RecordID, TagID FROM @myValues"; cmd.CommandType =CommandType.Text; SqlParameter パラメータ =cmd.Parameters.AddWithValue("@myValues", myTvpTable); parameter.SqlDbType =SqlDbType.Structured; cmd.ExecuteNonQuery(); }}private DataTable CreateDataTable(Dictionary valuesToInsert){ // DataTable を初期化します DataTable myTvpTable =new DataTable(); myTvpTable.Columns.Add("RecordID", typeof(int)); myTvpTable.Columns.Add("TagID", typeof(int)); // DataTable にデータを入力 foreach(key in valuesToInsert.Key) { DataRow row =myTvpTable.NewRow(); row["RecordID"] =valuesToInsert[キー];行["TagID"] =キー; }}  

    1. MySQLエラー1045(28000):ユーザー'bill' @'localhost'のアクセスが拒否されました(パスワードを使用:YES)

    2. FORMAT()は素晴らしいですが、…

    3. SQLServerでIF...THENロジックを使用する方法

    4. MicrosoftAccessのデザインビューでテーブルを開く方法