我正在使用这段(简化的)代码从SQL Server中提取一组表,使用BCP。
$OutputDirectory = 'c:\junk\'
$ServerOption = "-SServerName"
$TargetDatabase = "Content.dbo."
$ExtractTables = @(
"Page"
, "ChecklistItemCategory"
, "ChecklistItem"
)
for ($i=0; $i -le $ExtractTables.Length – 1; $i++) {
$InputFullTableName = "$TargetDatabase$($ExtractTables[$i])"
$OutputFullFileName = "$OutputDirectory$($ExtractTables[$i])"
bcp $InputFullTableName out $OutputFullFileName -T -c $ServerOption
}
它的功能很好,但现在有些表需要通过视图提取,有些则不需要。因此,我需要一种类似于这样的数据结构:
"Page" "vExtractPage"
, "ChecklistItemCategory" "ChecklistItemCategory"
, "ChecklistItem" "vExtractChecklistItem"
我正在查看哈希表,但是没有找到如何循环遍历哈希表的任何内容。在这种情况下应该做什么?也许只需使用一个数组,但用空格分隔两个值吗?
或者我错过了一些明显的东西?
ForEach-Object
的别名,它与此处的foreach
语句不同。ForEach-Object
使用管道,如果您已经在使用管道,则可以更快地使用它。foreach
语句则不会使用管道,它只是一个简单的循环。 - JamesQMurphy