Subject | Re: [ib-support] Re: (unknown) |
---|---|
Author | Svein Erling Tysvær |
Post date | 2002-06-25T08:02:14Z |
Hugh,
a multiuser environment - your trigger is still updating all rows in that
table every time it is executed. Imagine the consequences in a multiuser
environment - you risk everybody wanting to update one row in whatever
table that trigger refers to having to wait until your current user have
committed his/her changes. Assuming your trigger is for the SpecNo table,
what you probably want is as simple as
ALTER TRIGGER SPECIMENNO_INSERT
AFTER INSERT
POSITION 0
AS
BEGIN
UPDATE PTDEMOG
SET SPECIMENID = NEW.specimen_no
WHERE PATHNO = NEW.PATHNO;
END
HTH,
Set
>It seems to work ok.this is probably only true as long as PTDEMOG is a small table not used in
a multiuser environment - your trigger is still updating all rows in that
table every time it is executed. Imagine the consequences in a multiuser
environment - you risk everybody wanting to update one row in whatever
table that trigger refers to having to wait until your current user have
committed his/her changes. Assuming your trigger is for the SpecNo table,
what you probably want is as simple as
ALTER TRIGGER SPECIMENNO_INSERT
AFTER INSERT
POSITION 0
AS
BEGIN
UPDATE PTDEMOG
SET SPECIMENID = NEW.specimen_no
WHERE PATHNO = NEW.PATHNO;
END
HTH,
Set