summaryrefslogtreecommitdiff
path: root/contrib/spi/new_example.sql
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/spi/new_example.sql')
-rw-r--r--contrib/spi/new_example.sql68
1 files changed, 0 insertions, 68 deletions
diff --git a/contrib/spi/new_example.sql b/contrib/spi/new_example.sql
index 0204907894..e69de29bb2 100644
--- a/contrib/spi/new_example.sql
+++ b/contrib/spi/new_example.sql
@@ -1,68 +0,0 @@
---Column ID of table A is primary key:
-
-CREATE TABLE A (
- ID int4 not null,
- id1 int4 not null,
-primary key (ID,ID1)
-);
-
---Columns REFB of table B and REFC of C are foreign keys referenting ID of A:
-
-CREATE TABLE B (
- REFB int4,
- REFB1 INT4
-);
-CREATE INDEX BI ON B (REFB);
-
-CREATE TABLE C (
- REFC int4,
- REFC1 int4
-);
-CREATE INDEX CI ON C (REFC);
-
---Trigger for table A:
-
-CREATE TRIGGER AT BEFORE DELETE ON A FOR EACH ROW
-EXECUTE PROCEDURE
-check_foreign_key (2, 'cascade', 'ID','id1', 'B', 'REFB','REFB1', 'C', 'REFC','REFC1');
-
-
-CREATE TRIGGER AT1 AFTER UPDATE ON A FOR EACH ROW
-EXECUTE PROCEDURE
-check_foreign_key (2, 'cascade', 'ID','id1', 'B', 'REFB','REFB1', 'C', 'REFC','REFC1');
-
-
-CREATE TRIGGER BT BEFORE INSERT OR UPDATE ON B FOR EACH ROW
-EXECUTE PROCEDURE
-check_primary_key ('REFB','REFB1', 'A', 'ID','ID1');
-
-CREATE TRIGGER CT BEFORE INSERT OR UPDATE ON C FOR EACH ROW
-EXECUTE PROCEDURE
-check_primary_key ('REFC','REFC1', 'A', 'ID','ID1');
-
-
-
--- Now try
-
-INSERT INTO A VALUES (10,10);
-INSERT INTO A VALUES (20,20);
-INSERT INTO A VALUES (30,30);
-INSERT INTO A VALUES (40,41);
-INSERT INTO A VALUES (50,50);
-
-INSERT INTO B VALUES (1); -- invalid reference
-INSERT INTO B VALUES (10,10);
-INSERT INTO B VALUES (30,30);
-INSERT INTO B VALUES (30,30);
-
-INSERT INTO C VALUES (11); -- invalid reference
-INSERT INTO C VALUES (20,20);
-INSERT INTO C VALUES (20,21);
-INSERT INTO C VALUES (30,30);
-
--- now update work well
-update A set ID = 100 , ID1 = 199 where ID=30 ;
-
-SELECT * FROM A;
-SELECT * FROM B;
-SELECT * FROM C;