- styg blogja
- A hozzászóláshoz be kell jelentkezni
- 1003 megtekintés
Hozzászólások
Ez azert eleg konnyen workaroundolhato egy segedtablaval meg egy megfelelo tarolt eljarassal. Az a mondas, hogyha bonyolultabb funkcionalitast akarsz, akkor ugyis valami sajatot irsz, ha meg egyszerut, akkor pedig ott van az auto_increment (egyebkent ertem, hogy miert nem jo valakinek az auto_increment).
- A hozzászóláshoz be kell jelentkezni
alapvetoen eleg kell hogy legyen, kiveve ha nem numerikus ertekeket akarsz, vagy szigoru sorszamozast
- A hozzászóláshoz be kell jelentkezni
Jó, de nem hiszem, hogy annyira veszett nagy feladat lenne implementálni...
- A hozzászóláshoz be kell jelentkezni
Akkor implementald...
- A hozzászóláshoz be kell jelentkezni
Pl:
create table sequences (
name varchar(50),
value integer
);
create function seq_nextval( p_name varchar(50) )
returns integer
modifies sql data
begin
declare retval integer;
declare lock_flag integer;
select get_lock( concat('USER_SEQ', p_name), 10 )
into lock_flag;
if lock_flag = 1 then
update sequences
set value = value + 1
where name = p_name;
select value
into retval
from sequences
where name = p_name;
else
set retval = null;
end if;
select release_lock( concat('USER_SEQ', p_name) )
into lock_flag;
return retval;
end;
- A hozzászóláshoz be kell jelentkezni
Ultesd at C-re es kuldd be patchkent :-)
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Jol latja valaki a kollektiv fejlesztes lenyeget :)
- A hozzászóláshoz be kell jelentkezni
Persze, most vettem fel a szemuveget :D
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Azért a szekvenciák nem csak egyesével inkrementálódhatnak, valamint ciklikus is lehet, továbbá van min/max értéke ;)
Másik: addig, ameddig MySQL-ben nem lehet egy mező alapértelmezett értéke egy függvény kimenete, addig ez így félmegoldás.
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni
Értem én, csak elképzelem, ahogy programozók százai (ezrei?) implementálgatják ezt a projektjeiken belül sufnituningban ahelyett, hogy egyszer megcsinálná egy mysql fejlesztő, és akkor egy életre le van tudva a gond mindenki részére.
Valójában a _miért_ érdekelne...
- A hozzászóláshoz be kell jelentkezni
Szerintem azért, mert a szekvenciát leggyakrabban arra használják, hogy legyen egy egyedi azonosító a táblán belül. Arra meg ott van az auto_increment a mysqlben. Gondolom az auto_increment egyerűbb/gyorsabb, mint egy többet "tudó" szekvencia. Emiatt valószinüleg nem olyan fontos a hiánya. Persze ettől még implementálhatnák...
- A hozzászóláshoz be kell jelentkezni
Csupán annyira hiányzik, hogy az egyik projektünknél kézzel kellene megcsinálni a szekvenciák kezelését, mert adott körülmények az auto_increment nem opció nekünk. Persze, nem ez lenne az egyetlen akadálya, de ez is megoldandó probléma lenne.
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni
Nem az autoincrement helyett várnám el a szekvenciát...
- A hozzászóláshoz be kell jelentkezni
Nezd, ahol nem elég az autoincrement, ott ugyis valami sajat azonositogeneralas folyik. Sztem annak lenne ertelme, hogy egy UNIQUE indexes oszlop kaphasson egy fuggvenytol default erteket - de ezt query oldalon is meg lehet oldani.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Az SQL92 szabványt nem tudod belőlem kimagyarázni... :-)
- A hozzászóláshoz be kell jelentkezni