Subject | Re: [firebird-support] New auto-increment column, existing data |
---|---|
Author | setysvar |
Post date | 2016-11-15T22:26:45Z |
Den 15.11.2016 20:58, skrev 'Some One' anotherpersonsomewhere@...
[firebird-support]:
http://www.firebirdsql.org/file/community/conference-2014/pdf/22_tips_firebird_system_tables.pdf
has a few interesting tips, one of them involving db_key. So maybe
declare dbkey char(8) CHARACTER SET OCTETS;
is the simplest answer to your question.
SELECT GEN_ID(<generator_name>, <a value greater than or equal to 0>)
FROM RDB$DATABASE
should be a safe way to alter a sequence. I thought ALTER SEQUENCE also
was fine, but looking at
http://www.firebirdsql.org/refdocs/langrefupd20-alter-seq.html, there is
a serious warning with no explanation.
HTH,
Set
[firebird-support]:
> I am trying to add new auto-increment primary keys for existing table.Page 9 and 10 of
>
>
> This is what I have:
> ======================================
> set term ~ ;
> execute block
> as
> declare dbkey char(8);
> begin
> for
> select rdb$db_key
> from mytable
> into :dbkey
> do
> begin
> ...
> end
> end~
> set term ; ~
> ======================================
> This fails with error "malformed string", it looks like either rdb$db_key does not match char(8) or maybe it is related to same character set settings. Any suggestions?
>
> It also seems that when new entries are added the auto-incremented values will start from 0, causing conflicts. Is it ok to simply right click the generator in FlameRobin, select "set value" and enter a value higher than the highest existing or will that cause any trouble?
http://www.firebirdsql.org/file/community/conference-2014/pdf/22_tips_firebird_system_tables.pdf
has a few interesting tips, one of them involving db_key. So maybe
declare dbkey char(8) CHARACTER SET OCTETS;
is the simplest answer to your question.
SELECT GEN_ID(<generator_name>, <a value greater than or equal to 0>)
FROM RDB$DATABASE
should be a safe way to alter a sequence. I thought ALTER SEQUENCE also
was fine, but looking at
http://www.firebirdsql.org/refdocs/langrefupd20-alter-seq.html, there is
a serious warning with no explanation.
HTH,
Set