EN
PostgreSQL - Create view if not exist
0
points
In this article, we would like to show you how to create a view if it doesn't already exist in PostgreSQL.
Quick solution:
CREATE VIEW IF NOT EXISTS "view_name" AS
SELECT "column1", "column2", ...
FROM "table_name"
WHERE condition;
Practical example
To show how the CREATE VIEW IF NOT EXIST
statement works, we will use the following table:
Note:
At the end of this article you can find database preparation SQL queries.
Example
In this example, we will create a view that shows all users from Spain if it doesn't already exist.
Query:
CREATE VIEW IF NOT EXISTS "Spain Users" AS
SELECT "name", "email"
FROM "users"
WHERE "country" = 'Spain';
To see the view created with the query above simply use:
SELECT * FROM "Spain Users";
Result:
Database preparation
create_tables.sql
file:
CREATE TABLE "users" (
"id" SERIAL PRIMARY KEY,
"name" VARCHAR(100) NOT NULL,
"email" VARCHAR(100) NOT NULL,
"country" VARCHAR(15) NOT NULL
);
insert_data.sql
file:
INSERT INTO "users"
("name", "email", "country")
VALUES
('Tom', 'tom01@email.com', 'Poland'),
('Chris','chris123@email.com', 'Spain'),
('Jack','jack32@email.com', 'Spain'),
('Kim','kim103@email.com', 'Vietnam'),
('Marco','marco942@email.com', 'Italy'),
('Kate','kate227@email.com', 'Spain'),
('Nam','nam393@email.com', 'Vietnam');