我创建了一个表名
viewex
:
CREATE TABLE viewex (
sno INTEGER,
name VARCHAR(30),
email VARCHAR(30),
address VARCHAR(50),
contact VARCHAR(30)
);
已将数据插入表中。
现在我只想插入 3 列的数据(姓名、地址、联系方式):
INSERT INTO viewex (name, address, contact)
VALUES ('celcabs', 'good', 'bad');
现在的问题是………… 是否可以为查询创建视图
INSERT INTO viewex (name, address, contact)
VALUES ('celcabs', 'good', 'bad');
从 PostgreSQL 9.3 开始,您可以插入和更新“简单视图”:http://www.postgresql.org/docs/9.3/static/sql-createview.html
您可以将行插入带有视图的表中。 *我的帖子详细解释了一个视图。
例如,您创建
person
表,如下所示:
CREATE TABLE person (
id INTEGER,
first_name VARCHAR(20),
last_name VARCHAR(20),
age INTEGER
);
然后,将 2 行插入到
person
表中,如下所示:
INSERT INTO person (id, first_name, last_name, age)
VALUES (1, 'John', 'Smith', 27), (2, 'David', 'Miller', 32);
然后调用
person
,得到如下结果:
postgres=# SELECT * FROM person;
id | first_name | last_name | age
----+------------+-----------+-----
1 | John | Smith | 27
2 | David | Miller | 32
(2 rows)
然后,您创建
my_v
视图,如下所示:
CREATE VIEW my_v AS
SELECT first_name, age FROM person;
现在,您可以使用
person
向 my_v
表插入 2 行,如下所示。 *id
和last_name
不可用:
INSERT INTO my_v (first_name, age)
VALUES ('Robert', 18), ('Mark', 40);
然后,将 2 行插入到
person
表中,如下所示:
postgres=# SELECT * FROM person;
id | first_name | last_name | age
----+------------+-----------+-----
1 | John | Smith | 27
2 | David | Miller | 32
| Robert | | 18
| Mark | | 40
(4 rows)