Oracle视图+序列+触发器+访问控制

一、视图

--创建简单视图(查询一个表)

CREATE or replace  VIEW emp_view as
  SELECT e.EMPLOYEE_ID,e.FIRST_NAME,e.SALARY from EMPLOYEES e;

CREATE or replace  VIEW emp_view(emp_id,e_name,e_salary)
  as
    SELECT e.EMPLOYEE_ID,e.FIRST_NAME,e.SALARY from EMPLOYEES e;

--查询视图
SELECT * from emp_view ev;

--创建复杂视图(查询多个表)
CREATE VIEW stu_score_view
 AS
  select STU."s_id",STU."s_name",s."score" from student stu,SC s
where STU."s_id"=s."s_id"

--简单视图的DML操作(复杂视图不可进行DML操作)
DELETE from emp_view e where e.emp_id=106;


二、序列

--创建一个序列
CREATE sequence emp_seq
 INCREMENT by 1
 start with 10
 maxvalue 20
 nocycle
 nocache
--使用序列
insert into SC values(emp_seq.nextval,2,10);

--创建索引
CREATE index sname_index
on STUDENT("s_name","s_sex");
--删除索引
drop index sname_index;

三、触发器
--触发器
--语法
create or replace Trigger tname
timing
event1 [or event2,event3....]
on TABLE
trigger_body

--复制student表的结构
create table stu_copy
as select * from student where 1=2;

--定义触发器
create or replace trigger student_dml_trigger
before
DELETE
on STUDENT
for each ROW
BEGIN
insert into stu_copy("s_id","s_name","s_sex","s_age","s_birthday")
values(:old."s_id",:old."s_name",:old."s_sex",:old."s_age",:old."s_birthday");
end;

四、访问控制

--创建用户
CREATE USER damon
IDENTIFIED by damon 123;
--授权用户
grant create session,create table
to damon;
--修改用户密码
alter user damon identified by 123;
--创建角色
create role developer;
--给角色授权
grant create session,create table,create view,create sequence,create procedure to developer;
--角色赋予
grant developer to damon;

--对象权限
--hr  用户给Damon用户授权查看
grant select
on employees
to damon;
--登录Damon 查看
select * from hr.employees;
--只有查看权限
delete from hr.employees where employee_id=100;

--撤销授权
revoke select
on employees
from damon;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值