I would like to import data from my CSV files using PowerShell. The answer posted here: How to import data from .csv in SQL Server using PowerShell? works like a charm.
However, I'd like to build on this solution. If the files contain 2 columns, e.g. Feature1, Feature2, I'd like the table to have a third column e.g. Name. The aim is to load multiple files corresponding to different Names into a single table.
Feature1 | Feature2 | Name
Value1 | Value2 | NameA
Value3 | Value4 | NameA
...
Value5 | Value6 | NameB
If I give PowerShell the variable
$NameValue = "NameA"
How do I include this correctly in the command:
Import-CSV .\NameA.csv | ForEach-Object {Invoke-Sqlcmd `
-Database $database -ServerInstance $server `
-Query "insert into $table VALUES ('$($_.Feature1)','$($_.Feature2)', '$($NameValue.Name)')"
}
Currently, this just fills in the Feature columns, but the Name column is blank.
$NameValue
– TessellatingHeckler