sql - Powershell foreach 在多行上插入 INSERT INTO SQL Server DB
问题描述
我正在尝试将 2 个单独的数组插入到 1 个 SQL 插入命令上的多个记录中。我已经完成了 foreach 命令,但它只接受 1 个数组。我试过做嵌套的 foreach 语句,但这只会影响许多记录。以下是我到目前为止的代码。我没有将我的连接代码发布到我的数据库,但我确保它连接到数据库。
$array1 = @(1,2,3)
$array2 = @(a,b,c)
foreach ($file in $array1)
{
$SqlQuery.Append("USE $SQLDBName;")
$SqlQuery.Append("INSERT INTO tbl_File(Column1, Column2, Column3)")
$SqlQuery.Append("VALUES('Dummy Data', '$file', '$array2');")
}
我最困惑的是如何让两个数组都正确解析到数据库中。我希望我解释正确。什么都有帮助!
这是它需要看起来的示例:
Column 1 | Column 2 | Column 3
Dummy Data User Input1 User Input1
Dummy Data User Input2 User Input2
Dummy Data User Input3 User Input3
这就是我希望它看起来的样子,第 2 列是第一个数组,第 3 列是第二个数组。第 1 列将始终相同。
解决方案
根据您的意见修改。应该很容易放入sql stmt
这是为每个索引位置并排从两个数组中提取值的方法
$array1 = @(1,2,3)
$array2 = @('a','b','c')
$counter = 0;
foreach ($file in $array1)
{
Write-Host $file $array2[$counter]
$counter +=1;
}
如果要将整个数组存储在列中,则可能需要将其转换为字符串并对其进行定界
$array1 = @(1,2,3)
$array2 = @('a','b','c')
$counter = 0;
foreach ($file in $array1)
{
Write-Host $file ([string]::Join(',', $array2))
$counter +=1;
}
推荐阅读
- python - 需要构建 Keras 子模型
- ruby-on-rails - 需要实现#cache!如果你想使用 Cloudinary::CarrierWave::Storage 作为缓存存储
- wordpress - 有没有可以使用Repeater的Advance Custom Field Free版本的替代品?
- android - 在这里直接下载一个国家的地图(不选择它)
- postgresql - pg_dumpall > alldb.sql 输出 bash: alldb.sql: Permission denied
- javascript - 为什么switch语句没有输出?
- java - 从一系列分页网络调用生成 Spring Flux
- android - 如何在 Google Play 控制台中为应用程序签名退出 .aab 文件
- react-native - 如何在 React Native 中制作简单的音频播放器
- ansible - 远程主机上的 ansible-pull