暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

openGauss创建约束

suger 2023-01-09
833

添加主键约束
alter table emp1 add primary key (empno);

添加check约束
alter table emp1 add constraint chk_dept check (deptno is not null);

添加外键约束
alter table emp1 add constraint fk_dept foreign key (deptno) references dept(deptno);

修改列约束条件
alter table emp1 modify sal constraint chk_sal not null;

重命名约束
alter table emp1 rename constraint chk_dept to chk_deptno;

设置所属schema
alter table emp1 set schema jack;

重命名表
alter table jack.emp1 rename to emp2;

行级访问控制的目的是控制表中行级数据可见性,行访问控制策略针对特定数据库用户、特定SQL操作生效。
create user alice password 'gauss@123';
create table all_data(id int, role varchar(100), data varchar(100));
insert into all_data values(1, 'alice', 'alice data');
insert into all_data values(2, 'bob', 'bob data' );
insert into all_data values(3, 'peter', 'peter data');
grant select on all_data to alice;
alter table all_data enable row level security;
create row level security policy all_data_rls on all_data using(role = current_user);
\c - alice
select * from all_data; -- 仅能看到指定用户的数据,系统管理员不受行访问控制影响
explain select * from public.all_data;

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论