Pouziti autoincrementu

Karel Zak zakkr na zf.jcu.cz
Pátek Červen 20 12:16:19 CEST 2003


On Thu, Jun 19, 2003 at 04:13:36PM +0200, Petr Vileta wrote:
> > nastesti ale zase bez zamykani tabulek. Namatkou: vygenerujte si ta
> > cisla dokladu do tabulky
> >
> > id_dokladu integer unique
> > cislo_dokladu integer not null primary key
> >
> > a cislo dokladu pak nove vytvorenemu zaznamu v tabulce zaznamu
> > pridelite jedinym nezamykacim updatem.
> Tomu nejak nerozumim. Jak updatem dostanu to cislo do aplikace? Malokdy

 Tady bylo mysleno, ze jednim update pridelite to poradove cislo
 (vsimnete si nerikam PK). Pochopitelne do aplikace to musite dostat
 selectem. Kazdopadne vse pekne bez zamku.

> clovek vystaci s tim, ze ma jednu tabulku, kde je nutne unikatni cislo.
> Mnohem casteji je jedna tabulka s unikatnim klicem, ale totez pole je v jine
> tabulce jako neunikatni klic, aby se ty tabulky daly provazat. Priklad:

 To, ale opet pletete dohromady primarni klic a poradove cislo v
 posloupnosti bez mezer. Napriklad u faktury tedy muzete mit primarni
 klic (generovany) a jako dalsi samostatno hodnotu poradove cislo.
 Pochopitelne na vazby mezi tabulkama budete pouzivat primarni klic
 faktury. Pokud nekde potrebujete uvadet i poradove cislo te faktury
 tak se na nej zeptate. (Jak bylo uvedeno to poradove cislo muze byt v
 nejake samostatne tabulce "ciselna_rada" pod s FK na PK te faktury).

 IMHO je to velmi chytry napad dovolujici i celkem dalsi zajimave veci
 (konfigurace podoby te ciselne rady apod) bez zasahu do skutecnych
 dat zajistujicich referencni integritu (FK/PK).

    Karel

-- 
 Karel Zak  <zakkr na zf.jcu.cz>
 http://home.zf.jcu.cz/~zakkr/


Další informace o konferenci Test