tobixz
Goto Top

Zeile in SQL Löschen Powershell

Guten Tag, wie ist es möglich eine gesamte Zeile nach einer Abfrage zu löschen ?
$Verbindung = New-Object System.Data.SqlClient.SqlConnection
$Verbindung.ConnectionString = $VerbindungsString
$Verbindung.Open()
$query = "SELECT * FROM dbo.test"  
$befehl = $Verbindung.CreateCommand()
$befehl.Commandtext = $query
$resultat = $befehl.ExecuteReader()
$Tabelle = New-Object System.Data.DataTable
$Tabelle.Load($resultat)
$Tabelle.Rows.Count | Out-Null
$test = $Tabelle.rows | where {$_.name -eq "$test2"}  
$verbindung.Close()

Danke im Voraus.

Content-ID: 3387651310

Url: https://administrator.de/contentid/3387651310

Ausgedruckt am: 21.11.2024 um 22:11 Uhr

Crusher79
Crusher79 20.07.2022 aktualisiert um 15:24:59 Uhr
Goto Top
Hab grad kein Beispiel zur Hand.

https://www.c-sharpcorner.com/blogs/insert-data-into-sql-server-table-us ...

Ähnlich wie bei Insert. Achte auf

$Command.ExecuteNonQuery()

Wie bei Update/ Inserte Operation willst du ja was scheiben/ löschen!


Ist von 2021. Sollte nocho passen. Statt Insert mach dein Delete da rein.


PS: Für dein Beispielt kannst du den DELETE Filer verpassen, der die Zeile enthält. Aber die muss ja ausgegeben werden. Im SQL Editor hast du für die Dinge ja teisl ein GO mit drin. Stored Procedures führen auch versch. Sachen aus. Würde es nicht so komplizert machen und

1. Query
2. DELETE
Tobixz
Tobixz 20.07.2022 um 20:24:45 Uhr
Goto Top
Vielen Dank für die Antwort. Allerdings bekomme ich jetzt den Fehler 547. Wie kann ich diesen beheben?
Crusher79
Crusher79 20.07.2022, aktualisiert am 21.07.2022 um 07:34:23 Uhr
Goto Top
Weil fremdschlüsel mit drin ist.... Woher kommt die sql DB? Entweder du nimmst die DB auseinander oder löscht es mal mit der Software die es ggf. Dazu gibt? Letzteres kann man das Löschen mit Profiler mit schneiden. Man sieht auch welche trigger und procedures es gibt. Macht es dann einfacher. Etwas löschen geht bei dummen Tabellen. Kommen pk fk constraints hinzu wird es interessant.


Wenn dir die Kürzel nichts sagen würde ich das löschen überdenken.