![]() |
Datenbank: MS SQL • Version: 2014 • Zugriff über: ADO
Tabelle updaten
Hallo Forum,
ich kämpfe zum ersten mal etwas intensiver mit T-SQL weil ich ein Tool umstellen muss. In dem Programm wird ein Vorlaufkalender angelgt um später Termininformationen zu hinterlegen. Die Tabelle hat im Wesentlichen eine ID die den Datensatz identifiziert (und Kalenderwoche wie Person darstellt) und halt die Wochentage Mo-So. Es sind also alle in Frage komemnden Datensätze - für jeden Mitarbeiter jede einzelne Kalenderwoche - bereits in der Tabelle vorhanden. Nur eben lediglich mit Kalenderwoche und Mitarbeiternamen. Nun können Termine hin und her kopiert werden. Dazu wird im Moment noch - klassisch Delphi - ein Array mit den Termindaten des selktierten Datensatzes gefüllt und später in einen wiederum selektierten DS kopiert. Also ganz ähnlich wie man das auch im Excel machen würde. Ich möchte nun den Transport der Daten folgendermaßen darstellen: Das "Cut-Ereignis" liest lediglich die ID des ausgewählten Datensatzes. Klickt der Benutzer dann den Ziel-Datensatz an und "fügt ein" möchte ich den dann aktuellen Datensatz "updaten mit dem Inhalt des DS der ursprungs-ID. (ich hoffe ich bin verständlich) Im Moment probiere ich mit T-SQL folgendes:
Delphi-Quellcode:
Aber rein vom Ansehen her erscheint mir das irgendwie nicht richtig. Gibt es nicht ein "Update" ähnlich wie es mit INSERT INTO Syntax zu handeln ist?
update Einsatzplan
set Montag = (Select Montag from Einsatzplan where id=17), Dienstag = (Select Dienstag from Einsatzplan where id=17), Mitwoch = (Select Mitwoch from Einsatzplan where id=17), Donnerstag = (Select Donnerstag from Einsatzplan where id=17), Freitag = (Select Freitag from Einsatzplan where id=17), Samstag = (Select Samstag from Einsatzplan where id=17), Sonntag = (Select Sonntag from Einsatzplan where id=17) where id=1 |
AW: Tabelle updaten
Ja mit
![]() |
AW: Tabelle updaten
OK! Hast du auch ein Beispiel das - auch für mich - verständlich ist? ;(
|
AW: Tabelle updaten
OK, DAnke für den Tipp ;)
Hab es hin bekommen: merge into Einsatzplan dest using (select * from Einsatzplan where ID = 1) src on (dest.ID = 3) when matched then update set dest.Montag = src.Montag, dest.Dienstag = src.Dienstag, dest.Mitwoch = src.Mitwoch, dest.Donnerstag = src.Donnerstag, dest.Freitag = src.Freitag, dest.Samstag = src.Samstag, dest.Sonntag = src.Sonntag; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz