Hoi Tweakers,
Ik zit met het volgende probleem, hopelijk kunnen jullie mij hierbij helpen.
Het gaat om het volgende:
Voor een bestaande database heb ik een extra tabel aangemaakt. Deze tabel legt vast wanneer een gebruiker een specifieke record heeft gelockt. Voor elke update moet er gecheckt worden of een gebruiker toegang heeft tot een record (er moet dus gekeken worden naar de tabel waar alle locks zijn vastgelegd). Voor dit probleem wil ik gebruik gaan maken van triggers.
Hieronder zal ik een voorbeeld geven:
voordat het bovenstaande update statement wordt uitgevoerd moet er gecheckt worden of een bepaalde gebruiker het bovenstaande statement uit kan voeren op de record waar orderId is gelijk aan @orderId.
Ik vraag mij of of dit mogelijk is? Zo ja kunnen jullie een voorbeeld geven hoe ik dit kan bereiken?
Ik zit met het volgende probleem, hopelijk kunnen jullie mij hierbij helpen.
Het gaat om het volgende:
Voor een bestaande database heb ik een extra tabel aangemaakt. Deze tabel legt vast wanneer een gebruiker een specifieke record heeft gelockt. Voor elke update moet er gecheckt worden of een gebruiker toegang heeft tot een record (er moet dus gekeken worden naar de tabel waar alle locks zijn vastgelegd). Voor dit probleem wil ik gebruik gaan maken van triggers.
Hieronder zal ik een voorbeeld geven:
code:
1
2
3
4
| -- update statement binnen een stored procedure update Order set variable1='some value' where Order.orderId= @orderId --@orderId is een van de input parameter |
voordat het bovenstaande update statement wordt uitgevoerd moet er gecheckt worden of een bepaalde gebruiker het bovenstaande statement uit kan voeren op de record waar orderId is gelijk aan @orderId.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| CREATE TRIGGER LockTrigger on Order FOR INSTEAD OF UPDATE AS begin tran if EXISTS (select * from LockTable where fulfilmentordernumber=@fulfilmentOrderNumber ) begin -- Abort end if NOT EXISTS (select * from LockTable where fulfilmentordernumber=@fulfilmentOrderNumber ) begin -- insert record into LockingTable end commit tran GO |
Ik vraag mij of of dit mogelijk is? Zo ja kunnen jullie een voorbeeld geven hoe ik dit kan bereiken?