Na uren zoeken en proberen geef ik de moed op. Ik wil een trigger bouwen die het volgende uit gaat voeren: bij het toevoegen of wijzigen van een product, moet (indien het een nieuw product is, of de prijs van het product aangepast is) er in de tabel Prijs_Historie een record met de nieuwe prijs toegevoegd worden.
Tabel waar de trigger op moet komen ziet er simpel, zo uit:
Producten (productid, prijs)
De tabel Prijs_Historie ziet er zo uit:
Prijs_Historie(productid, prijs, datum)
Dit had ik al geprobeerd. Echter, deze trigger gaat bij iedere aanpassing aan de tabel af (op de productnaam bijvoorbeeld, terwijl ik wil dat hij alleen bij een prijs aanpassing af gaat). Ook insert hij niet het bepaalde record, maar insert hij de complete tabel in de historie tabel.
Ook met de MSDN en mijn SQL boek kom ik niet veel verder
Tabel waar de trigger op moet komen ziet er simpel, zo uit:
Producten (productid, prijs)
De tabel Prijs_Historie ziet er zo uit:
Prijs_Historie(productid, prijs, datum)
Dit had ik al geprobeerd. Echter, deze trigger gaat bij iedere aanpassing aan de tabel af (op de productnaam bijvoorbeeld, terwijl ik wil dat hij alleen bij een prijs aanpassing af gaat). Ook insert hij niet het bepaalde record, maar insert hij de complete tabel in de historie tabel.
code:
1
2
3
4
5
| CREATE TRIGGER [test] ON [database].[producten] FOR INSERT, UPDATE AS insert Prijs_Historie (productid, prijs, datum) (Select productid, prijs, getdate() from producten where producten.productid in (select productid from producten)) |
Ook met de MSDN en mijn SQL boek kom ik niet veel verder