Suraban Geschrieben 25. Mai 2011 Geschrieben 25. Mai 2011 (bearbeitet) Wie lautet die korrekte Syntax für folgendes Problem ? in Tabelle A gibt es ein Feld Datum dieses soll auf das aktuelle Datum + Uhrzeit geändert werden. Kann mir jemand sag wie der Update Befehl dazu heißt ? ( In dieser Tabelle gibt es auch noch ein Feld Artikelnummer ) Bearbeitet 25. Mai 2011 von Suraban
Thelvan Geschrieben 25. Mai 2011 Geschrieben 25. Mai 2011 Kommt auf das DBMS an. Beispiel MSSQL: UPDATE A SET Datum = Now() WHERE <Bedingung>
Suraban Geschrieben 25. Mai 2011 Autor Geschrieben 25. Mai 2011 UPDATE ART SET GeaendertAm = Now() WHERE Artikelnummer = 100003 Also so ? Hier kommt aber eine Fehlermeldung 'Now' wird nicht als Name einer integrierten Funktion erkannt !
Jejerod Geschrieben 25. Mai 2011 Geschrieben 25. Mai 2011 Dann google am besten mal nach "Time Date Functions" für dein Datenbankprodukt?
Suraban Geschrieben 25. Mai 2011 Autor Geschrieben 25. Mai 2011 Ich arbeite übrigens mit Microsoft SQL Server Managment Studio
carstenj Geschrieben 25. Mai 2011 Geschrieben 25. Mai 2011 Hi, probiers mal so: http://www.itrain.de/knowhow/sql/tsql/funktionen/sqlfunc.asp?funktion=GETDATE
Suraban Geschrieben 25. Mai 2011 Autor Geschrieben 25. Mai 2011 Also ich weiß nicht ob ich nun einen denkfehler habe aber bei deinem Link komm ich auf einen Select Befehl aber ich will doch ein Update machen !?!
carstenj Geschrieben 25. Mai 2011 Geschrieben 25. Mai 2011 Hi, statt Now() einfach mal getdate() probieren. Das select ist nur ein Beispiel, mit dem du sehen kannst ob das Datum richtig formatiert ist. Du kannst die Funktion natürlich auch in einem Update nutzen.
Suraban Geschrieben 25. Mai 2011 Autor Geschrieben 25. Mai 2011 UPDATE ART SET GeaendertAm = getdate() WHERE Artikelnummer = 100003 Wenn ich es nun so mache kommt wieder eine Fehlermeldung : Das Timeout für Sperranforderungen wurde überschritten.
carstenj Geschrieben 25. Mai 2011 Geschrieben 25. Mai 2011 Hi, das ist aber ein ganz anderes Problem: MSSQLSERVER_1222 D.h. offenbar sperrt ein anderer Prozess die Tabelle. Wenn möglich, starte die DB einfach mal neu.
Suraban Geschrieben 25. Mai 2011 Autor Geschrieben 25. Mai 2011 Ok nach dem Neustart kam diese Fehlermeldung nicht mehr aber dafür diese: Fehler beim Konvertieren des varchar-Werts '400005b' in den int-Datentyp
carstenj Geschrieben 25. Mai 2011 Geschrieben 25. Mai 2011 Hi, kann es sein, dass die Spalte "geandertAm" nicht das Datumsformat hat? Sowas ist natürlich immer ungünstig, weil man ansonsten Casten müsste. Aber wenn die Datenbank schon entsprechende Spaltentypen anbietet, sollte man diese auch nutzen.
Suraban Geschrieben 25. Mai 2011 Autor Geschrieben 25. Mai 2011 Also in dem Feld geaendertam sind solche Einträge drin 2011-05-19 08:49:48.000 und genau diese will ich updaten
carstenj Geschrieben 25. Mai 2011 Geschrieben 25. Mai 2011 Hi, tja, da bleibt nur das hier: GETDATE (Transact-SQL) Lesen und probieren.
Suraban Geschrieben 25. Mai 2011 Autor Geschrieben 25. Mai 2011 Also ich weiß nicht wieso aber egal in welcher Art und weise ich es mache es kommt immer dieser Fehler
carstenj Geschrieben 25. Mai 2011 Geschrieben 25. Mai 2011 Hi, welchen Typ hat denn das Feld "geaendertAm"? Die Daten, die da drinstehen können auch varchar oder sonstwas sein.
Suraban Geschrieben 25. Mai 2011 Autor Geschrieben 25. Mai 2011 UPDATE ART SET GeaendertAm = CURRENT_TIMESTAMP WHERE Artikelnummer = '100003' so hat es nun funktioniert ........ und das sollte ich nun irgendwie in meinen Trigger einbauen .-....... au mann http://www.fachinformatiker.de/datenbanken/147240-sql-trigger-problem.html
carstenj Geschrieben 25. Mai 2011 Geschrieben 25. Mai 2011 Hi, wenn ich das jetzt richtig überblicke, hast du jetzt alles, was du brauchst. Du musst jetzt eigentlich "nur" noch die Puzzleteile zusammenfügen.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden