이 (단순화 된) 코드 청크를 사용하여 BCP로 SQL Server에서 테이블 집합을 추출하고 있습니다.
$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"
해시를보고 있었지만 해시를 반복하는 방법에 대해서는 아무것도 찾지 못했습니다. 여기서 옳은 일은 무엇일까요? 아마도 배열을 사용하지만 두 값을 공백으로 구분하여 사용합니까?
아니면 분명한 것을 놓치고 있습니까?