sql - 使用 powershell 将数百万条记录转换并插入到多个表中
问题描述
使用 powershell 从表中检索 100 万条记录。需要转换所有这 100 万条记录,然后与一些子表一起插入另一个父表。我可以使用 for-each 循环(对于每条记录,转换然后插入)来做到这一点,但需要数十个小时。尝试了以下 URL 中提到的以下方法,但没有太大帮助。 构建批量插入语句powershell到sql
有没有其他方法可以使用 powershell 解决问题?请参阅下面的示例代码片段,其中 table[0] 中的数据集包含使用 ForEach 迭代的 100 万条记录
$DataSet.Tables[0] | ForEach {
$VALUE1 = $_.VALUE1
$VALUE2 = $_.VALUE2
$VALUE3 = $_.VALUE3
$VALUE4 = $_.VALUE4
$InsertQuery = "INSERT INTO PARENT_TABLE([column1],[column2],[column3],[column4]) VALUES (@col1,@col2,@col3,@col4);
INSERT INTO CHILD_TABLE1([column1],[column2],[column3]) VALUES (@col1,@col2,@col3);
INSERT INTO CHILD_TABLE2([column1],[column2],[column3]) VALUES (@col1,@col2,@col3);"
$SqlCmd.Connection = $SqlConnection
$SqlCmd.CommandText = $InsertQuery
$SqlCmd.Parameters.Add("@col1", $VALUE1) | Out-Null
$SqlCmd.Parameters.Add("@col2", $VALUE2) | Out-Null
$SqlCmd.Parameters.Add("@col3", $VALUE3) | Out-Null
$SqlCmd.Parameters.Add("@col4", $VALUE4) | Out-Null
$SqlCmd.ExecuteNonQuery() | Out-Null
}
解决方案
推荐阅读
- c++ - 是否可以从初始化列表中分配给数组?
- c# - 如何从 sql lite 数据库的列中向 datagridview 添加日期?
- java - 从 C++ 访问 Android 属性
- reactjs - 如何更改 MuiInputBase-root 的宽度?
- docker - Docker容器中的动态库问题
- c# - Unity:继承的事件属性的自定义编辑器
- image - 徽标图像未显示在移动设备浏览器上
- python - 如何将有间隙的数据绘制到子图中
- c++ - 在 C++ 中将 Char 数组转换为时间戳
- asp.net-mvc - 如何为 AD B2C“身份验证代码流”身份验证设置 asp.net mvc 应用程序