[SQL] Automagisch lastmodified datum bijwerken

Pagina: 1
Acties:

  • MrHighStone
  • Registratie: November 2001
  • Laatst online: 03-02-2023
Volgens mij stelt het niks voor, maar de oplossing kan ik niet vinden.
Wat ik wil is voor elke INSERT of UPDATE op een record in een tabel het LastModified veld automatisch wordt bijgewerkt.
Het gaat om een SQL Server 2000 database

Voor de INSERT lukt me dit door de default value op GetDate() te zetten, maar hiervan maakt de UPDATE geen gebruik.
Wat is de eenvoudigste manier om dit te realiseren? Toch een trigger gebruiken?

Een file op de A12 is nooit grappig...


  • Mickman
  • Registratie: Juni 2001
  • Laatst online: 29-03 18:11
Zoek eens in de SQL documentatie naar constraints en procedures. Daarmee kan je zulke dingen vastleggen.

  • whoami
  • Registratie: December 2000
  • Laatst online: 10:17
Kijk eens wat een timestamp column is en wat het voor je doet.

In SQL Server is het echter niet de systeemtijd die daarvoor gebruikt wordt. Zie ook dit topic:
[rml][ SQL Server] Timestamps[/rml]

[ Voor 58% gewijzigd door whoami op 04-04-2003 13:00 ]

https://fgheysels.github.io/


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

MrHighStone schreef op 04 April 2003 @ 12:47:
Wat is de eenvoudigste manier om dit te realiseren? Toch een trigger gebruiken?
Mijn tegenvraag: waarom zou je geen trigger willen gebruiken?

Today's subliminal thought is:


  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

je kan het idd met een trigger doen, maar ook door een stored procedure.
ipv een update statement roep je dan de stored proc aan.
maar waarom zet je in je update statements niet gewoon een extra "set LastModified = sysdate"

edit:
Reactie op EfBe hieronder: Heb je mijn post wel gelezen voor je begon te posten?

[ Voor 24% gewijzigd door Goodielover op 06-04-2003 22:33 . Reden: reactie toegevoegd ]


  • EfBe
  • Registratie: Januari 2000
  • Niet online
In de UPDATE een set clause erbij te plaatsen met lastmodified=GETDATE() is wellicht een idee :)

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • MrHighStone
  • Registratie: November 2001
  • Laatst online: 03-02-2023
Nog even voor de volledigheid, het is een trigger geworden:
code:
1
2
3
4
5
6
7
8
9
10
ALTER  TRIGGER [MyTable_UpdateLastModified] ON [dbo].[MyTable] 
FOR INSERT, UPDATE 
AS
BEGIN
    UPDATE MyTable SET LastModified = GetDate() 
    FROM MyTable INNER JOIN inserted
    ON
        MyTable.UserID = inserted.UserID AND
        MyTable.RaceID = inserted.RaceID
END


Deze oplossing werkt prima. Bedankt voor alle reacties.

Een file op de A12 is nooit grappig...

Pagina: 1