Daten einfügen mit MSSQL

  • Themenstarter Themenstarter hadda
  • Beginndatum Beginndatum
H

hadda

Hallo zusammen,

Ich habe eine Tabelle table1(id, wert), und möchte mehrer Daten gleichzeitig in der table1(id, wert) einfügen, aber es könnte sein , dass alle Daten nicht neu sind, sondern gibt es welche in table1 und jetzt möchte ich den alten Wert mit neuen Wert ersetzen.

Kann jemand mir ein Tipp geben.

Danke
Hadda
 
Du musst voher eine einen Select-Befehl senden, um zu prüfen ob deine Daten komplett neu sind oder ob sie ein Update von einem bestehenden Datensatz sind.

Wenn du nur 2 Spalten hast, is das doch wurscht. Pack die neuen Datensätze dahinter und gut is.
 
Danke für deine antwort,

Eigentlich ich wollte von einer Tabelle viele Daten einlesen und gleichzeitig in einer Tabelle einfügen ohne dass ich ein schleife benutze oder Cursor

gibt es diese Möglichkeit in T-SQL?
 
Hallo hadda,

in MsSQL gibt es sowas wie "INSERT ... ON DUPLICATE KEY UPDATE..." nicht.
Du kannst es aber mit einem "IF ... ELSE ..." lösen.

Syntax

IF Boolean_expression
{ sql_statement | statement_block }
[ ELSE
{ sql_statement | statement_block } ]
Das ist aber eher was für eine Schleife.

Was meist du mit
möchte mehrer Daten gleichzeitig in der table1(id, wert) einfügen
:confused:
Du holst die Daten aus einer anderen Tabelle?
Dann mach doch einfach 2 SQL's, einen für UPDATE (update from) und einen für INSERT (insert into select), die du jeweils in der WHERE-Bedingung mit den Daten aus table1 einschränkst.
 
Zurück