Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog

Modif

Publié le par damcuvelier

<#
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