Я использую этот (упрощенный) кусок кода для извлечения набора таблиц из 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"
Я смотрел на хэши, но я не нашел ничего о том, как перебрать хэш. Что было бы правильно сделать здесь? Возможно, просто использовать массив, но с двумя значениями, разделенными пробелом?
Или я что-то упускаю очевидное?