|
|
@ -260,6 +260,25 @@ SELECT * from FKTABLE; |
|
|
|
DROP TABLE FKTABLE; |
|
|
|
DROP TABLE FKTABLE; |
|
|
|
DROP TABLE PKTABLE; |
|
|
|
DROP TABLE PKTABLE; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- restrict with null values |
|
|
|
|
|
|
|
CREATE TABLE PKTABLE ( ptest1 int, ptest2 int, ptest3 int, ptest4 text, UNIQUE(ptest1, ptest2, ptest3) ); |
|
|
|
|
|
|
|
CREATE TABLE FKTABLE ( ftest1 int, ftest2 int, ftest3 int, ftest4 int, CONSTRAINT constrname3 |
|
|
|
|
|
|
|
FOREIGN KEY(ftest1, ftest2, ftest3) REFERENCES PKTABLE (ptest1, ptest2, ptest3)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
INSERT INTO PKTABLE VALUES (1, 2, 3, 'test1'); |
|
|
|
|
|
|
|
INSERT INTO PKTABLE VALUES (1, 3, NULL, 'test2'); |
|
|
|
|
|
|
|
INSERT INTO PKTABLE VALUES (2, NULL, 4, 'test3'); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
INSERT INTO FKTABLE VALUES (1, 2, 3, 1); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DELETE FROM PKTABLE WHERE ptest1 = 2; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT * FROM PKTABLE; |
|
|
|
|
|
|
|
SELECT * FROM FKTABLE; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DROP TABLE FKTABLE; |
|
|
|
|
|
|
|
DROP TABLE PKTABLE; |
|
|
|
|
|
|
|
|
|
|
|
-- cascade update/delete |
|
|
|
-- cascade update/delete |
|
|
|
CREATE TABLE PKTABLE ( ptest1 int, ptest2 int, ptest3 int, ptest4 text, PRIMARY KEY(ptest1, ptest2, ptest3) ); |
|
|
|
CREATE TABLE PKTABLE ( ptest1 int, ptest2 int, ptest3 int, ptest4 text, PRIMARY KEY(ptest1, ptest2, ptest3) ); |
|
|
|
CREATE TABLE FKTABLE ( ftest1 int, ftest2 int, ftest3 int, ftest4 int, CONSTRAINT constrname3 |
|
|
|
CREATE TABLE FKTABLE ( ftest1 int, ftest2 int, ftest3 int, ftest4 int, CONSTRAINT constrname3 |
|
|
|