Hi,

this is the feature – key is only valid(checked) for values but null is not 
“value”.
This work same in all databases i have worked.

regards,
Karol Bieniaszewski

From: Paweł Świerzko p_swier...@poczta.onet.pl [firebird-support] 
Sent: Wednesday, August 9, 2017 3:21 PM
To: firebird-support@yahoogroups.com 
Subject: [firebird-support] Multi-column Foreign key

  
Hi, 
I have encountered the following situation. Can you tell me - is it bug or 
feature. Excuse me if it is a silly question.
I have two tables:
CREATE TABLE UNITES (
CODE VARCHAR(10) NOT NULL,
LOT VARCHAR(10) NOT NULL,
SITE VARCHAR(10) NOT NULL,
DESCRIPTION VARCHAR(100)
);

ALTER TABLE UNITES ADD CONSTRAINT PK_UNITES PRIMARY KEY (CODE, LOT, SITE);

CREATE TABLE LOCATION (
ID INTEGER NOT NULL,
UCODE VARCHAR(10),
ULOT VARCHAR(10),
USITE VARCHAR(10),
ZONE INTEGER,
WAREHOUSE INTEGER
);

ALTER TABLE LOCATION ADD CONSTRAINT PK_LOCATION PRIMARY KEY (ID);

ALTER TABLE LOCATION ADD CONSTRAINT FK_LOCATION_1 FOREIGN KEY (UCODE, ULOT, 
USITE) REFERENCES UNITES (CODE, LOT, SITE);

So location references units using foreign key.

Let's create two unites from one lot:

INSERT INTO UNITES (CODE, LOT, SITE, DESCRIPTION) VALUES ('A1', 'L1', 'S1', 
'abc');
INSERT INTO UNITES (CODE, LOT, SITE, DESCRIPTION) VALUES ('A2', 'L1', 'S1', 
'bcd');

I expected that the following instruction will not be exectued:
INSERT INTO LOCATION (ID, UCODE, ULOT, USITE, ZONE, WAREHOUSE) VALUES (1, 'A3', 
NULL, NULL, NULL, NULL);
because there is no A3 entry in unites table, but it IS! Firebird allows to add 
record with value which doesn't exist in master table.
Thanks in advance
Pawel





---
Ta wiadomość została sprawdzona na obecność wirusów przez oprogramowanie 
antywirusowe Avast.
https://www.avast.com/antivirus
  • [firebird-su... Paweł Świerzko p_swier...@poczta.onet.pl [firebird-support]
    • Re: [fi... 'livius' liviusliv...@poczta.onet.pl [firebird-support]
    • RE: [fi... 'Leyne, Sean' s...@broadviewsoftware.com [firebird-support]
      • Re:... Helen Borrie hele...@iinet.net.au [firebird-support]
    • Re: Re:... Paweł Świerzko p_swier...@poczta.onet.pl [firebird-support]

Reply via email to