Interesuje mnie czy da sie ustawic referencje na kluczu glownym do nieunikatowej kolumny w innej tabeli. Konkretnie wyglada to tak:
  1. CREATE TABLE t1(
  2. t1_id number(10) NOT NULL,
  3. t1_name varchar2(100) NOT NULL,
  4. constraint t1_pk PRIMARY KEY(t1_id))
  5.  
  6. CREATE TABLE t2(
  7. t2_id varchar2(100) NOT NULL,
  8. t2_date date NOT NULL,
  9. constraint t2_pk PRIMARY KEY(t2_id, t2_date),
  10. constraint t2_fk1 FOREIGN KEY(t2_id) REFERENCES t1(t1_name))

No i dostaje komunikat "niezgodność klucza unikatowego lub głównego dla tej listy kolumn". Probowalem tez tak (bez klucza obcego):

  1. CREATE TABLE t2(
  2. t2_id varchar2(100) NOT NULL REFERENCES t1(t1_name),
  3. t2_date date NOT NULL,
  4. constraint t2_pk PRIMARY KEY(t2_id, t2_date))

ale tez bez skutku. Chodzi o to, ze pole t2_id ma miec wylacznie jedna z wartosci dostepnych w kolumnie t1_name. Jak ustawic taka referencje? Calosc robie w Oraclu (ale podejrzewam, ze wielkich roznic z innymi bazami nie bedzie). Z gory dzieki!