Toon posts:

[SQL Server] Meerdere records updaten adhv Triggers

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoe kan ik een trigger on insert een query laten uitvoeren en dan voor elke record die deze query oplevert een andere actie uitvoeren... met een soort van lusje dus.

Ik hoop dat iemand het weet want ik ben vrij suf gezocht :)

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:14
Zoek eens op CURSORS.

https://fgheysels.github.io/


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Weet je zeker dat het procedureel opgelost moet worden (dus met een loopje?) De combinatie trigger/cursor lijkt met niet echt prettig.

Oops! Google Chrome could not find www.rijks%20museum.nl


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:14
P_de_B schreef op 24 december 2003 @ 12:59:
Weet je zeker dat het procedureel opgelost moet worden (dus met een loopje?) De combinatie trigger/cursor lijkt met niet echt prettig.
Dat denk ik eigenlijk ook; SQL is set - based, en je kan dus een hele hoop records in 1x updaten/deleten/....

https://fgheysels.github.io/


Verwijderd

Topicstarter
Hier is de probleembeschrijving :
we willen dat als er in één table iets toegevoegd wordt moet er een query uitgevoerd worden op een andere tabel, aan de hand van de verschillende records die die query oplevert moet er een updates gebeuren op een andere tables

hier staat het ERD : http://users.skynet.be/mahy/erd.JPG
concreet willen we dus :
wanneer een record wordt toegevoegd in tblHeldMissie en M_Geslaagd true is (want in solid is dit met de triggerconditie when maar in sqlserver vinden we daar geen vervanging voor)
dan moet er in tblMissieKracht worden opgezocht welke krachten bij deze missie horen en moet tblHeldKracht worden geupdate per krachtID van de vorige query

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:14
En kan je dat niet in 1 query doen ?

Zo misschien:
code:
1
2
3
4
UPDATE tblHeldKracht SET KR_PERCENTAGE = ?
FROM tblMissiekracht
WHERE tblMissieKracht.KR_ID = tblHeldKracht.Kr_id
AND tblMissieKracht.MissieId = ?

https://fgheysels.github.io/


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Misschien nog kijken naar de inserted/deleted virutele tabellen?

Oops! Google Chrome could not find www.rijks%20museum.nl


Verwijderd

Topicstarter
whoami schreef op 24 december 2003 @ 13:36:
En kan je dat niet in 1 query doen ?

Zo misschien:
code:
1
2
3
4
UPDATE tblHeldKracht SET KR_PERCENTAGE = ?
FROM tblMissiekracht
WHERE tblMissieKracht.KR_ID = tblHeldKracht.Kr_id
AND tblMissieKracht.MissieId = ?
zou gaan maar er zijn meerdere krachten aan een missie toegekend .....
Pagina: 1