J'ai déjà créé une séquence:
create sequence mainseq as bigint start with 1 increment by 1
Comment utiliser cette séquence comme valeur par défaut d'une colonne?
create table mytable(
id bigint not null default mainseq -- how?
code varchar(20) not null
)
Cela s'est avéré assez facile:
create table mytable (
id bigint not null constraint DF_mytblid default next value for mainseq,
code varchar(20) not null
)
ou si la table est déjà créée:
alter table mytable
add constraint DF_mytblid
default next value for mainseq
for id
(merci Matt Strom pour la correction!)
L'instruction ALTER n'est pas tout à fait complète. Il a besoin d'une autre clause FOR pour affecter la valeur par défaut au champ souhaité.
ALTER TABLE mytable
ADD CONSTRAINT DF_mytblid
DEFAULT (NEXT VALUE FOR mainseq) FOR [id]