Thanks Ali,

the docs I've found only show support for "generated always as" tinkering with variations on that syntax doesn't seem to work...

I agree that it would solve my problem - if it existed today.

Thanks,
Trevor

Suavi Ali Demir wrote:
Will derby support "default" keyword as in:

create table a(
id int not null generated by DEFAULT as identity,
...

or something like that? That would solve these
problems as it would only generate values if we do not
specify the value.

Regards,
Ali



--- Trevor Squires <[EMAIL PROTECTED]> wrote:

Hi,

I've been googling all morning and can't find info
to solve this problem (using derby of course), I hope someone here can
help...


As I write my application I have a script which
blats and recreates my database and then populates the tables with test
data.


However, many of my tables have identity columns and
it's causing the following error when I insert the data:


11:06:26 [INSERT - 0 row(s), 0.016 secs] [Error
Code: 30000, SQL State: 42Z23] Attempt to modify an identity column
'ID'.


Here's my table:

create table sample (
        id int not null generated always as identity,
        description varchar(128) not null,
        quantity double not null,
        constraint product_pk primary key (id)
);

Here's my insert statement

insert into sample (ID, DESCRIPTION, QUANTITY)
values (1, 'blah', 1.1);

I've tried to create the table without "generated
always as identity" and then altering the table after the insert(s).


Unfortunately I can't get the syntax right and I
can't figure out if there's a way to turn off identity generation
temporarily.


Does anyone have any suggestions like pointer to the
right way to do this or a relatively painless workaround?


Thanks for listening,
Trevor







Reply via email to