E di që duket e ngjashme me disa pyetje, por shpresoj që e imja të jetë ndryshe.
Unë punoj me një bazë të dhënash Oracle
Unë dua të kem një rritje automatike në një kolonë duke përdorur
COMPUTED column and LAST_VALUE(column) + 1
Kështu që unë kam kërkesën e mëposhtme:
ALTER TABLE schema.table (
ADD SK NUMBER ALWAYS AS (LAST_VALUE(SK)+1)
);
A do ta bëjë këtë mashtrim vetëm me këtë?
Apo duhet të shtoj një fjali FOR EACH ROW
në mënyrë që të përshtatet me nevojën time për rritje automatike?
EDITIM Sipas komentit të G00dy:
Sekuenca:
create sequence SK_SEQUENCES
increment by 1
start with 1
nomaxvalue
minvalue 1
nocycle
order
keep;
Tavolina :
create table schema.test(
isCurrent CHAR(10),
SK NUMBER
);
Nëse e kuptoj komentin nga @g00dy,
Më duhet të shtoj Sekuencën si vlerë për kolonën time SK
,
kështu që unë kam këtë:
insert into schema.test(SK)
values (SK_SEQUENCES.nextval)
Atëherë në rregull, funksionon
Por kur po i shtoj vlerë kolonës isCurrent
,
nuk ka auto_increment në kolonën SK
Unë mendoj, për të pasur auto_increment, më duhet të krijoj një shkas.
Ndoshta do të më duhet të përdor këmbëzën/sekuencën për të rregulluar problemin tim, por nuk dua..
insert
, nëse keni më shumë se një. 20.06.2018