lightdb 支持在创建视图时指定 WITH READ ONLY 选项

背景

Oracle 的 create view 语句可以带有 WITH READ ONLY 选项。为了使 Oracle 的 sql 代码更方便迁移到 LightDB 中,24.1 版本中新增了 WITH READ ONLY 语法。目前用户不能在只读视图上执行 update/insert 操作更新基表,但可以在只读视图上执行 delete 从基表删除数据。

用例

CREATE TABLE employees(
  last_name varchar(100),
  salary float
);

CREATE VIEW emp_view AS
   SELECT last_name, salary*12 annual_salary
   FROM employees
   WITH READ ONLY;

--=ok
insert into employees values ('he', 10.1);
--=error
insert into emp_view values ('he', 10.1);
--=error
update emp_view set annual_salary = 202 where last_name = 'he';
--=ok
delete from emp_view where last_name = 'he';

posted on 2024-02-22 15:58  winter-loo  阅读(9)  评论(0编辑  收藏  举报

导航