openGauss 每日一练第 11 天打卡,我来了!又可以学习,真开心~

学习

今天第 11 课,学习openGauss视图

视图与基本表不同,是一个虚拟的表。数据库中仅存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。

课后作业打卡

1、为系统表PG_DATABASE创建视图,重命名视图并修改owner为jim,

1
2
3
4
5
create view lucifer_view as select * from pg_database;
select * from lucifer_view;
alter view lucifer_view rename to v_lucifer;
create role jim;
alter view v_lucifer owner to jim;

2、创建一个用户表student,并在用户表上创建视图,修改视图schema;

1
2
3
4
5
6
7
create schema lucifer;
create table lucifer.student(id int,name char(20),sex char(10),grade int);
insert into lucifer.student values (1,'lucifer','male',100),(2,'lucifer1','female',80),(3,'lucifer2','male',75);
create view lucifer.v_student as select * from lucifer.student where grade > 80;
select * from lucifer.v_student;
create schema jim;
alter view lucifer.v_student set schema jim;

3、使用pg_views查看视图信息

1
select * from pg_views where view_name = 'v_student';

4、删除视图、表、用户

1
2
3
4
drop view jim.v_student;
drop table lucifer.student;
drop schema jim;
drop schema lucifer;

写在最后

今天的作业打卡结束!🎉