1997-04-06 08:07:13 +02:00
|
|
|
--
|
2000-01-05 18:32:29 +01:00
|
|
|
-- CREATE_VIEW
|
|
|
|
-- Virtual class definitions
|
1997-04-06 08:07:13 +02:00
|
|
|
-- (this also tests the query rewrite system)
|
|
|
|
--
|
|
|
|
|
|
|
|
CREATE VIEW street AS
|
|
|
|
SELECT r.name, r.thepath, c.cname AS cname
|
2000-06-10 07:19:26 +02:00
|
|
|
FROM ONLY road r, real_city c
|
1997-04-06 08:07:13 +02:00
|
|
|
WHERE c.outline ## r.thepath;
|
|
|
|
|
|
|
|
CREATE VIEW iexit AS
|
|
|
|
SELECT ih.name, ih.thepath,
|
|
|
|
interpt_pp(ih.thepath, r.thepath) AS exit
|
|
|
|
FROM ihighway ih, ramp r
|
|
|
|
WHERE ih.thepath ## r.thepath;
|
|
|
|
|
|
|
|
CREATE VIEW toyemp AS
|
|
|
|
SELECT name, age, location, 12*salary AS annualsal
|
|
|
|
FROM emp;
|
|
|
|
|
2002-09-02 04:13:02 +02:00
|
|
|
--
|
|
|
|
-- CREATE OR REPLACE VIEW
|
|
|
|
--
|
|
|
|
|
|
|
|
CREATE TABLE viewtest_tbl (a int, b int);
|
|
|
|
COPY viewtest_tbl FROM stdin;
|
|
|
|
5 10
|
|
|
|
10 15
|
|
|
|
15 20
|
|
|
|
20 25
|
|
|
|
\.
|
|
|
|
|
|
|
|
CREATE OR REPLACE VIEW viewtest AS
|
|
|
|
SELECT * FROM viewtest_tbl;
|
|
|
|
|
|
|
|
CREATE OR REPLACE VIEW viewtest AS
|
|
|
|
SELECT * FROM viewtest_tbl WHERE a > 10;
|
|
|
|
|
|
|
|
SELECT * FROM viewtest;
|
|
|
|
|
|
|
|
CREATE OR REPLACE VIEW viewtest AS
|
|
|
|
SELECT a, b FROM viewtest_tbl WHERE a > 5 ORDER BY b DESC;
|
|
|
|
|
|
|
|
SELECT * FROM viewtest;
|
|
|
|
|
|
|
|
-- should fail
|
|
|
|
CREATE OR REPLACE VIEW viewtest AS
|
|
|
|
SELECT a FROM viewtest_tbl WHERE a <> 20;
|
|
|
|
|
|
|
|
-- should fail
|
|
|
|
CREATE OR REPLACE VIEW viewtest AS
|
|
|
|
SELECT 1, * FROM viewtest_tbl;
|
|
|
|
|
|
|
|
-- should fail
|
|
|
|
CREATE OR REPLACE VIEW viewtest AS
|
|
|
|
SELECT a, b::numeric FROM viewtest_tbl;
|
|
|
|
|
|
|
|
DROP VIEW viewtest;
|
|
|
|
DROP TABLE viewtest_tbl;
|