Modif
<#
utilité: modifie une valeur dans une table SQL
usage:
WriteSQLdb.ps1 -Modif "<columnName>=<oldcolumnValue>:<newcolumnValue>" -Srv "NomDuServeurSQL" -db "NomDeLaBaseDeDonnees" -TN "NomDeLaTable"
[option:] -usr "username" -pwd "password"
#>
param($Srv,$usr,$pwd,$db,$TN,$Modif,[switch]$arr)
$Global:erroractionpreference = 'silentlycontinue'
$Global:warningactionpreference = 'silentlycontinue'
$ici = $PSScriptRoot; if(!$ici){$ici = (Get-Location).path}
$Global:here = $ici
[string]$refName = $Modif.split('=')[0] # $refName = "NomDeLaColonne" # Colonne à filtrer
[string]$refValues = $Modif.split('=')[1]
[string]$oldrefValue = $refValues.split(':')[0] # $oldrefValue = L'ancienne Valeur dans la colonne
[string]$newrefValue = $refValues.split(':')[1] # $newrefValue = La nouvelle Valeur dans la colonne
# Installer & Importer le module SqlServer s'il n'est pas déjà installé
InstImpMod('SqlServer')
Install-Module -Name SqlServer -Force -SkipPublisherCheck
Import-Module SqlServer
# Paramètres de connexion à la base de données
if(!$Srv){$Srv = "NomDuServeurSQL"}
if(!$db){$db = "NomDeLaBaseDeDonnees"}
if(!$TN){$TN = "NomDeLaTable"}
if($usr -and $pwd){$connectionString = "Server=$Srv;uid=$usr;pwd=$pwd;Database=$db;Integrated Security=True;"}
else{$connectionString = "Server=$Srv;Database=$db;Integrated Security=True;"}
# Établir la connexion à la base de données
$connection = New-Object System.Data.SqlClient.SqlConnection
$connection.ConnectionString = $connectionString
$connection.Open()
# Commande SQL pour modifier la valeur $refValue dans la colonne $refName dans la table $TN:
# Construire la commande SQL UPDATE
$sqlCommand = @"
UPDATE $TN
SET $refName = '$newrefValue'
WHERE $refName = '$oldrefValue'
"@
# Créer un objet Command SQL
$command = $connection.CreateCommand()
$command.CommandText = $sqlCommand
# Exécuter la commande SQL
$command.ExecuteNonQuery()
# Fermer la connexion à la base de données
$connection.Close()
Commenter cet article