Tôi đang sử dụng đoạn mã (đơn giản hóa) này để trích xuất một tập hợp các bảng từ SQL Server với 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
}
Nó hoạt động tốt, nhưng bây giờ một số bảng cần được trích xuất qua các khung nhìn, và một số thì không. Vì vậy, tôi cần một cấu trúc dữ liệu như sau:
"Page" "vExtractPage"
, "ChecklistItemCategory" "ChecklistItemCategory"
, "ChecklistItem" "vExtractChecklistItem"
Tôi đã xem xét các hàm băm, nhưng tôi không tìm thấy bất cứ điều gì về cách lặp qua một hàm băm. Điều gì sẽ là điều đúng đắn để làm ở đây? Có lẽ chỉ sử dụng một mảng, nhưng với cả hai giá trị, được phân tách bằng dấu cách?
Hay tôi đang thiếu một cái gì đó rõ ràng?