ďťż
 
Unique index problem ďťż
 
Unique index problem
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

Unique index problem



Robert - 15-07-2006 01:26
Unique index problem
  Witam serdecznie

mam taki problem
chciałem zrobić index sprawdzający nr faktury

Wiadomo że w bazie nie może być faktur o tym samym nr na w tej samej firmie dlatego

CREATE UNIQUE INDEX [spr_nr_fak] ON [dbo].[zobowiazanie]([nr_fak], [id_firmy])
ON [PRIMARY]
GO

wszystko ładnie działa ale pojawił sie problem mianowicie jeżeli nr faktury ma
format np 12/07 12-faktura w 07-lipiec to w przyszłym roku nie wstawie takiej
drugiej faktury na tą samą firmę muszę dodać do tego jeszcze rok. w tabelce
zobowiązania mam jeszcze kolumnę data_sprzedaży więc zaczołem modyfikować index
ale nie idzie

niestety data jest w formacie yyyy-mm-dd hh-mm-ss dlataego użyłem datename

CREATE UNIQUE INDEX [spr_nr_fak] ON [dbo].[zobowiazanie]([nr_fak],
[id_firmy],datename (yyyy,data_sprzedazy])) ) ON [PRIMARY]

Proszę o pomoc

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl





Lemat - 15-07-2006 01:26

  Robert napisał(a):
> Witam serdecznie
>
> mam taki problem
> chciałem zrobić index sprawdzający nr faktury
>
> Wiadomo że w bazie nie może być faktur o tym samym nr na w tej samej firmie dlatego
>
> CREATE UNIQUE INDEX [spr_nr_fak] ON [dbo].[zobowiazanie]([nr_fak], [id_firmy])
> ON [PRIMARY]
> GO
>
>
> wszystko ładnie działa ale pojawił sie problem mianowicie jeżeli nr faktury ma
> format np 12/07 12-faktura w 07-lipiec to w przyszłym roku nie wstawie takiej
> drugiej faktury na tą samą firmę muszę dodać do tego jeszcze rok. w tabelce
> zobowiązania mam jeszcze kolumnę data_sprzedaży więc zaczołem modyfikować index
> ale nie idzie
>
> niestety data jest w formacie yyyy-mm-dd hh-mm-ss dlataego użyłem datename
>
> CREATE UNIQUE INDEX [spr_nr_fak] ON [dbo].[zobowiazanie]([nr_fak],
> [id_firmy],datename (yyyy,data_sprzedazy])) ) ON [PRIMARY]
>
najprościej będzie chyba utworzyć osobną kolumnę w tabeli zawierającą
potrzebne dane

--
Pozdrawiam
Lemat
pomóż zwalczyć spam z ICIC:
http://www.lemat.priv.pl/index.php?m=page&pg_id=106




robert4720@vp.pl - 15-07-2006 01:26

  > Robert napisał(a):
> > Witam serdecznie
> >
> > mam taki problem
> > chciałem zrobić index sprawdzający nr faktury
> >
> > Wiadomo że w bazie nie może być faktur o tym samym nr na w tej samej firmie
dlatego
> >
> > CREATE UNIQUE INDEX [spr_nr_fak] ON [dbo].[zobowiazanie]([nr_fak], [id_firmy])
> > ON [PRIMARY]
> > GO
> >
> >
> > wszystko ładnie działa ale pojawił sie problem mianowicie jeżeli nr faktury ma
> > format np 12/07 12-faktura w 07-lipiec to w przyszłym roku nie wstawie takiej
> > drugiej faktury na tą samą firmę muszę dodać do tego jeszcze rok. w tabelce
> > zobowiązania mam jeszcze kolumnę data_sprzedaży więc zaczołem modyfikować index
> > ale nie idzie
> >
> > niestety data jest w formacie yyyy-mm-dd hh-mm-ss dlataego użyłem datename
> >
> > CREATE UNIQUE INDEX [spr_nr_fak] ON [dbo].[zobowiazanie]([nr_fak],
> > [id_firmy],datename (yyyy,data_sprzedazy])) ) ON [PRIMARY]
> >
> najprościej będzie chyba utworzyć osobną kolumnę w tabeli zawierającą
> potrzebne dane
>
> --

wydaje sie dobrym rozwiązaniem. Ale czy nie ma innego nie da sie użyć jakiejś
funkcji czy czegoś by z tej daty wyciągnąć sam rok i użyć go przy kreowaniu
indeksu.

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl




=?iso-8859-2?Q?Andrzej_Str=F3=BFy=F1ski?= - 15-07-2006 01:26

 
Użytkownik <robert4720@vp.pl> napisał:
[...]
> wydaje sie dobrym rozwiązaniem. Ale czy nie ma innego nie da sie użyć
> jakiejś
> funkcji czy czegoś by z tej daty wyciągnąć sam rok i użyć go przy
> kreowaniu
> indeksu.

W pgsql można np tak:
SELECT date_part( 'year', data_sprzedazy ) FROM ...

pozdrawiam
A.S.





robert4720@vp.pl - 15-07-2006 01:26

  >
> Użytkownik <robert4720@vp.pl> napisał:
> [...]
> > wydaje sie dobrym rozwiązaniem. Ale czy nie ma innego nie da sie użyć
> > jakiejś
> > funkcji czy czegoś by z tej daty wyciągnąć sam rok i użyć go przy
> > kreowaniu
> > indeksu.
>
> W pgsql można np tak:
> SELECT date_part( 'year', data_sprzedazy ) FROM ...
>
> pozdrawiam
> A.S.
>

w mssql to nie działa
niestety

pozdrawiam

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl




=?iso-8859-2?Q?Andrzej_Str=F3=BFy=F1ski?= - 15-07-2006 01:26

 
Użytkownik <robert4720@vp.pl> napisał:
>>
>> Użytkownik <robert4720@vp.pl> napisał:
>> [...]
>> > wydaje sie dobrym rozwiązaniem. Ale czy nie ma innego nie da sie użyć
>> > jakiejś
>> > funkcji czy czegoś by z tej daty wyciągnąć sam rok i użyć go przy
>> > kreowaniu
>> > indeksu.
>>
>> W pgsql można np tak:
>> SELECT date_part( 'year', data_sprzedazy ) FROM ...
>
> w mssql to nie działa
> niestety

Właśnie dlatego mądrzy ludzie wymyślili, że należy podawać rodzaj bazy w
tytule wątku.

A.S.




Grzesiek G. - 15-07-2006 01:26

  robert4720@vp.pl napisał(a):
>>Użytkownik <robert4720@vp.pl> napisał:
>>[...]
>>
>>>wydaje sie dobrym rozwiązaniem. Ale czy nie ma innego nie da sie użyć
>>>jakiejś
>>>funkcji czy czegoś by z tej daty wyciągnąć sam rok i użyć go przy
>>>kreowaniu
>>>indeksu.
>>
>>W pgsql można np tak:
>>SELECT date_part( 'year', data_sprzedazy ) FROM ...
>>
>>pozdrawiam
>>A.S.
>>
>
>
> w mssql to nie działa
> niestety

Działa. Tworzysz kolumnę wyliczaną (YEAR(data_faktury)) i robisz indeks
na tej kolumnie.

Pozdrawiam

--
Grzegorz Gruza
Odpowiadając usuń "spamerom_nie." z adresu!!!
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?= mysql i mysql-front, problem String line; if (line=="cos"){...}....problem Problemy z =?ISO-8859-2?Q?instalacj=B1_PostgreSQL_na_syste?==?ISO-8859-2?Q?mach_Windows?= [postgres] Problem z =?ISO-8859-2?Q?zmian=B1_struktury_i_z?==?ISO-8859-2?Q?ale=BFno=B6ciami=2E?= [oracle] =?ISO-8859-2?Q?zmia=BFd=BFony_przez_problem=3A_za?==?ISO-8859-2?Q?pytanie_do_hierarchi?= Problem z wartościami w MySQL :( [ MySQL and ASP and VBScript ] [PGSQL] czy ktos mial problemy z initdb pgsql 8.1 ? [MySQL] Problem z zapisem danych w bazie danych Problem z mysql - can't connect to MySQL/nietypowo...
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • lubiatowo.xlx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com