当前位置: 首页 > news >正文

c 做特产网站邯郸国外网站建设费用

c 做特产网站,邯郸国外网站建设费用,机械做卖产品网站,南阳手机网站建设postgresql-视图 视图概述使用视图的好处 创建视图修改视图删除视图递归视图可更新视图WITH CHECK OPTION 视图概述 视图#xff08;View#xff09;本质上是一个存储在数据库中的查询语句。视图本身不包含数据#xff0c;也被称为 虚拟表。我们在创建视图时给它指定了一个… postgresql-视图 视图概述使用视图的好处 创建视图修改视图删除视图递归视图可更新视图WITH CHECK OPTION 视图概述 视图View本质上是一个存储在数据库中的查询语句。视图本身不包含数据也被称为 虚拟表。我们在创建视图时给它指定了一个名称然后可以像表一样对其进行查询 使用视图的好处 创建视图 PostgreSQL 使用 CREATE VIEW 语句创建视图 CREATE VIEW view_name AS query;其中view_name 是视图的名称AS 之后是视图的查询语句可以是简单查询或者复杂的 查询。以下语句创建了一个包含员工详细信息的视图 create view emp_details_view as selecte.employee_id,e.job_id,e.manager_id,e.department_id,d.location_id,e.first_name,e.last_name,e.salary,e.commission_pct,d.department_name,j.job_title from employees e join departments d on (e.department_id d.department_id) join jobs j on (j.job_id e.job_id);-- 使用视图查询数据 select * from emp_details_view where department_name IT;修改视图 如果需要修改视图定义中的查询可以使用 CREATE OR REPLACE 语句 CREATE OR REPLACE VIEW 视图名称 AS 查询语句;--PostgreSQL 目前只支持追加视图定义中的字段不支持减少字段或者修改字段的名称或顺 --序。例如我们可以为视图 emp_details_view 增加一个字段 hire_date create or replace view emp_details_view as selecte.employee_id,e.job_id,e.manager_id,e.department_id,d.location_id,e.first_name,e.last_name,e.salary,e.commission_pct,d.department_name,j.job_title,e.hire_date from employees e join departments d on (e.department_id d.department_id) join jobs j on (j.job_id e.job_id);--另外PostgreSQL 还提供了 ALTER VIEW 语句修改视图的属性。例如以下语句用于修改视图的名称 --该语句将视图 emp_details_view 重命名为 emp_info_view。 ALTER VIEW emp_details_view RENAME TO emp_info_view; ALTER VIEW 语句还提供了其他的修改功能例如设置字段的默认值、修改视图所属的模 式等具体可以参考官方文档 删除视图 使用 DROP VIEW 语句删除一个已有的视图 DROP VIEW [ IF EXISTS ] name [ CASCADE | RESTRICT ];其中IF EXISTS 可以避免删除一个不存在的视图时产生错误CASCADE 表示级联删除依 赖于该视图的对象RESTRICT 表示如果存在依赖对象则提示错误信息这是默认值 递归视图 --视图的定义中也可以使用 recursive来创建递归视图 -- column_names字段名称 create recursive view 视图名 (column_names) as 查询语句; -- 递归视图需要指定字段的名称 column_names。以上语句实际上等价于以下sql CREATE VIEW view_name AS WITH RECURSIVE cte_name (column_names) AS (query) SELECT column_names FROM cte_name;-- 递归视图的创建 CREATE RECURSIVE VIEW employee_path(employee_id, employee_name, path) ASSELECT employee_id, CONCAT(first_name, ,, last_name), CONCAT(first_name, ,, last_name) AS pathFROM employeesWHERE manager_id IS NULLUNION ALLSELECT e.employee_id, CONCAT(e.first_name, ,, e.last_name), CONCAT(ep.path, -, e.first_name, ,, e.last_name)FROM employee_path epJOIN employees e ON ep.employee_id e.manager_id;-- 查询视图 select * from employee_path ep ;可更新视图 如果一个视图满足以下条件 • 视图定义的 FROM 子句中只包含一个表或者可更新视图 • 视图定义的最顶层查询语句中不包含以下子句GROUP BY、HAVING、LIMIT、OFFSET、 DISTINCT、WITH、UNION、INTERSECT 以及 EXCEPT • SELECT 列表中不包含窗口函数、集合函数或者聚合函数例如 SUM、COUNT、AVG 等。 那么该视图被称为可更新视图updatable view意味着我们可以对其执行 INSERT、 UPDATE 以及 DELETE 语句PostgreSQL 会将这些操作转换为对底层表的操作。 -- 创建视图 create view employees_it as select employee_id,first_name,last_name,email,phone_number,hire_date,job_id,manager_id,department_id from employees where department_id 60;-- 查询视图信息 select employee_id,first_name, last_name from employees_it;-- 通过视图 employees_it 为 employees 表增加一个员工 insert into employees_it (employee_id, first_name, last_name, email, phone_number, hire_date, job_id, manager_id, department_id) VALUES(209, Tony, Dong, DONG, 590.423.5568, 2020-05-06, IT_PROG, 103, 60); select * from employees_it;WITH CHECK OPTION 为了防止通过视图插入或者修改视图不可见的数据可以使用WITH CHECK OPTION选项 create or replace view employees_it as select employee_id,first_name,last_name,email,phone_number,hire_date,job_id,manager_id,department_id from employees where department_id 60 with check option;执行结果显示违反检查选项无法插入数据。 WITH CASCADED CHECK OPTION 选项会对视图以及它所依赖的其他视图进行级联检查 WITH LOCAL CHECK OPTION 选项只对当前视图进行检查。默认为 CASCADED。
http://www.w-s-a.com/news/472135/

相关文章:

  • 备案号是哪个网站项目管理pmp
  • 做网站需要哪些硬件软件网站视频链接怎么做的
  • 电子商务网站建设试题二wordpress主页显示浏览数
  • 网站快照没了广州企业电话大全
  • 网站项目开发收费标准网站开发app开发主营业务
  • 怎么到国外网站去接模具订单做互联网建设企业网站
  • 深圳品牌网站建设公司排名洪雅网站建设
  • nodejs 做网站wordpress主题绕过激活码
  • 平湖模板网站建设公司网页美工培训
  • 顺德网站建设市场建设工程交易中心网站
  • 深圳企业网站怎么做浪琴手表网站建设图
  • 2018网站外链怎么做济南 网站设计公司
  • 承德百度网站建设郑州网站seo优化公司
  • 四川建站模板网站公司分类信息网站制作
  • 网站开发前后端有wordpress模板安装教程视频教程
  • 有网站想修改里面的内容怎么做怎么做黑彩黑彩网站
  • 什么专业会做网站网站建设续费合同
  • 网站开发的项目开发网站做直播功能需要注册吗
  • 网站开发新手什么软件好网站设计师和ui设计师
  • 太仓苏州网站建设软件开发网站建设
  • 一个虚拟主机做2个网站吗工信部怎么查网站备案
  • 本地网站做淘宝客制作app步骤
  • 关于企业网站建设网页布局怎么设计
  • 惠州市网站设计公司裴东莞嘘网站汉建设
  • 长葛网站建站电子商务网站是什么
  • 泉做网站的公司太原网站建设开发公司
  • wordpress菜单栏的函数调用迅速上排名网站优化
  • 网站深圳广西模板厂哪家价格低
  • 搜索网站显示网页无法访问最好的网站推广
  • 巴彦淖尔市百家姓网站建设搬瓦工暗转wordpress