Sekwencje, edu, bazy


Sekwencje a typ SERIAL

Aby stworzyć pole typu AUTO_INCREMENT należy zastosować sekwencję

SEQUENCE:

jburiak=# CREATE SEQUENCE b_id;
CREATE
jburiak=# create table b (id int4 not null default nextval('b_id'), pole text);
CREATE
jburiak=# insert into b (pole) values ('wartość pierwsza');
INSERT 1
jburiak=# insert into b (pole) values ('wartość druga');
INSERT 1
jburiak=# select * from b;
 id | pole
----+------------------
  1 | wartość pierwsza
  2 | wartość druga
(2 rows)

CREATE [ TEMPORARY | TEMP ] SEQUENCE name [ INCREMENT [ BY ] increment ]

[ MINVALUE minvalue | NO MINVALUE ] [ MAXVALUE maxvalue | NO MAXVALUE ]

[ START [ WITH ] start ] [ CACHE cache ] [ [ NO ] CYCLE ]

Tak więc: jeśli potrzebujemy licznika od 1 do około 2 miliardów należy użyc SERIAL. Jeśli jednak potrzebujemy mieć licznik liczący w dół (od -1 do -dwóch miliardów), albo przeskakujący co dwie lub więcej liczb to należy utworzyć sekwencję.



Wyszukiwarka

Podobne podstrony:
KOMENDY BAZ DANYCH, edu, bazy
Lab 7, edu, bazy
bazy zboj, edu, bazy
CREATE USER do druku, edu, bazy
System zarządzania bazą danych, edu, bazy
popularne ALTER TABLE, edu, bazy
architektury SZBD - warstwy, edu, bazy
SQL, edu, bazy
ochrona-dok1, edu, bazy
bazy, edu, bazy
Transakcje, edu, bazy
sbd, edu, bazy
sql-instr, edu, bazy
http, www strefawiedzy edu pl file php file= 28 Wyklady Bazy danych3
1 Tworzenie bazy danychid 10005 ppt

więcej podobnych podstron