Title: Message
Scott, Niall  wrote:
 
> Hi

> I need to create a autoincrement field but I can't use a fixed data type for reasons I won't go into.
> I need the field to be type integer.
> I thought that I would create a sequence then call it in a trigger thus

> Create table test1(
> teid integer,
> aValue Char(10)
> )
> --
> create sequence test1seq  increment by 1 start with 1
> --
> CREATE TRIGGER test1_update FOR test1 AFTER INSERT EXECUTE (
> UPDATE dbasys.test1 set teid=test1seq.Nextval;
> )
> --

> I tried various trigger code but the above was the only one that didn't give errors

> I then used
> Insert into test1 (aValue) VALUES('Test 1')
> but all I get is a null value in teid.

> I have come to SAP DB from Interbase where the trigger code would be
> CREATE TRIGGER test1_update FOR TEST1
> ACTIVE BEFORE INSERT POSITION 0
> AS
> BEGIN
> new.teid=GEN_ID(test1seq,1);
> END

>
> But I can't figure out how to do the same in SAPDB

> Cheers
 
Mhm, with my 7.4.3 this works perfectly.
1. which version do you use?
2. please check the errorcode after the update. We have to assume
    that this update returns some error --> does not change any value
3. Do you really want to update ALL rows of the table if one single 
    row is added? Or did you just forgot to add some where-clause
    to your update?
 
Elke
SAP Labs Berlin 

Reply via email to