ďťż
 
[Oracle] Jak zrobic taki indeks.. ďťż
 
[Oracle] Jak zrobic taki indeks..
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

[Oracle] Jak zrobic taki indeks..



remg - 05-04-2006 00:03
[Oracle] Jak zrobic taki indeks..
  Witam,
na jednej z tabel mojej aplikacji potrzebuje zrobic unikalny indeks, ktory
zabroni wstawienia powtarzalnych danych. Z tym ze niepowtarzalnosc danych
bedzie uzyskana nie na etapie robienia inserta do tabeli, tylko dopiero
pozniej po zrobieniu update'u. Potrzebuje wiec zrobic indeks unikalny ktory
nie bedzie bral pod uwage kolumn z wartoscią NULL. Czy cos takiego jest
mozliwe w Oraclu? Czy indeksy oparte na funkcjach mogą tu pomoc? Moze ktos
ma jakis przyklad jak takie cos zrobic..

pozdrawiam,
remg





=?ISO-8859-2?Q?Mase=B3?= - 05-04-2006 00:03

  remg wrote:
> Witam,
> na jednej z tabel mojej aplikacji potrzebuje zrobic unikalny indeks, ktory
> zabroni wstawienia powtarzalnych danych. Z tym ze niepowtarzalnosc danych
> bedzie uzyskana nie na etapie robienia inserta do tabeli, tylko dopiero
> pozniej po zrobieniu update'u. Potrzebuje wiec zrobic indeks unikalny ktory
> nie bedzie bral pod uwage kolumn z wartoscią NULL. Czy cos takiego jest
> mozliwe w Oraclu? Czy indeksy oparte na funkcjach mogą tu pomoc? Moze ktos
> ma jakis przyklad jak takie cos zrobic..

A kiedy bedzie robiony ten update?
Bo moze wystarczy opoznic moment sprawdzania wiezow (deferred,
deferrable i jakos tak do nakarmienia googla...)

Pozdro

Maseł




remg - 05-04-2006 00:03

 
Użytkownik "Maseł" <mmasel@poczta.onet.pl> napisał w wiadomości
news:c57cb3ad8c8ebc84c1910fd6df0805e3@masel.cs.put .poznan.pl...
> A kiedy bedzie robiony ten update?
> Bo moze wystarczy opoznic moment sprawdzania wiezow (deferred,
> deferrable i jakos tak do nakarmienia googla...)
>
> Pozdro
>

Niestety to nei wystarczy, bo po prostu update moze zostac zrobiony w
dowolnej chwili pozniej i wtedy dopiero indeks jakby powinien zadzialac.
Ale juz znalazlem rozwiązanie, wystarczy dac function based index i za
pomocą decode lub case ograniczyc zwracane przez indeks kolumny do tych
ktore są <> null




Piotrek Kapczuk - 06-04-2006 00:13

  In news:e0tabl$lsj$1@nemesis.news.tpi.pl,
remg <remq75@wp.pl> typed:

> Witam,
> na jednej z tabel mojej aplikacji potrzebuje zrobic unikalny indeks,
> ktory zabroni wstawienia powtarzalnych danych. Z tym ze
> niepowtarzalnosc danych bedzie uzyskana nie na etapie robienia
> inserta do tabeli, tylko dopiero pozniej po zrobieniu update'u.
> Potrzebuje wiec zrobic indeks unikalny ktory nie bedzie bral pod
> uwage kolumn z wartoscią NULL. Czy cos takiego jest mozliwe w Oraclu?
> Czy indeksy oparte na funkcjach mogą tu pomoc? Moze ktos ma jakis
> przyklad jak takie cos zrobic..

Da sie coś takiego zrobić.

Mam tabele gdzie kolumna zezwala na nulle, a indeks na tej kolumnie jest
typu Unique.

No chyba, że Cię źle zrozumiałem.

--
Pozdrawiam
Piotrek Kapczuk





=?ISO-8859-2?Q?Micha=B3?= Kuratczyk - 06-04-2006 00:13

  Piotrek Kapczuk wrote:
> Mam tabele gdzie kolumna zezwala na nulle, a indeks na tej kolumnie jest
> typu Unique.

Co jest zgodne z dokumentacją:
http://download-uk.oracle.com/docs/c...ema.htm#i18631

NULL values in indexes are considered to be distinct except when all the
non-NULL values in two or more rows of an index are identical, in which
case the rows are considered to be identical. Therefore, UNIQUE indexes
prevent rows containing NULL values from being treated as identical. This
does not apply if there are no non-NULL values?in other words, if the rows
are entirely NULL.

--
Michał Kuratczyk
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Oracle, SQL, PL/SQL. Jak =?ISO-8859-2?Q?napisa=E6_zapytanie=2C?==?ISO-8859-2?Q?_kt=F3re_zwr=F3ci_nazw=EA_atrybutu=2C_kt=F3reg o?==?ISO-8859-2?Q?_warto=B6ci_spe=B3niaj=B1_zadany_warunek?= Oracle 19g +Insert +Insert +Insert... [oracle] zapytanie dynamiczne z =?ISO-8859-2?Q?=22dynamiczn=B1_?==?ISO-8859-2?Q?nazw=B1_tabeli=22?= [Oracle] jak =?ISO-8859-2?Q?ograniczy=E6_pami=EA=E6_dla_se?==?ISO-8859-2?Q?rwera=3F?= =?ISO-8859-2?Q?=5BOT=5D_Zdany_egzamin_Oracle_1Z0-007_a?==?ISO-8859-2?Q?_brak_informacji_na_stronie_Prometric_-_czy?==?ISO-8859-2?Q?_co=B6_nie_tak=3F?= [oracle] czy da =?ISO-8859-2?Q?si=EA_z_poziomu_procedury_?==?ISO-8859-2?Q?zrobi=E6_kopi=EA_zapasow=B1=3F?= [oracle 10g] czy =?ISO-8859-2?Q?mo=BFna_wy=B3=B1czy=E6_wszys?==?ISO-8859-2?Q?tkie_wi=EAzy_w_schemacie=3F?= MSSQL Express czy Oracle Express =?iso-8859-2?q?[oracle]_Jak_sprawdzi=E6_wielko=B6=E6_tabeli_=3F=3F?= =?ISO-8859-2?Q?Poszukjue_ksi=B1=BFki_"Oracle_?= =?ISO-8859-2?Q?optymalizacja_wydajno=B6ci"..?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • atanvarne633.opx.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