⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 用system为其他用户建立trigger.txt

📁 orale培训教材包括了所有的sql说明和实例
💻 TXT
字号:
--此试验使用system用户建立对peter用户的tirgger.
--peter用户没有建trigger的权限,且trigger在system内,peter不能删除trigger

connect system/manager
--system建立用户
CREATE USER peter
IDENTIFIED BY peter
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp
QUOTA 15m ON  users 
;

--system  grant 连接create table
grant create session to peter;

 grant create table to peter;


--用户create table
 connect peter/peter
create table sm_test(name varchar2(10));


--用system建立在system schema内建立对peter的表控制的trigger
--关键在on 语句 peter.sm_test 
connect system/manager

create or replace trigger han 
before insert 
on peter.sm_test 

begin 
    --不是在2000不许插入
    if to_char(sysdate,'yyyy') !='2000' then 
       
    RAISE_APPLICATION_ERROR (-20501, '必须在2000年.');
 end if;
end;
/


connect peter/peter
--测试
insert into  sm_test values('Tom');
ERROR 位于第 1 行:
ORA-20501: 必须在2000年.
ORA-06512: 在"SYSTEM.HAN", line 5
ORA-04088: 触发器 'SYSTEM.HAN' 执行过程中出错

--peter用户无法删除han
SQL> drop trigger han;
drop trigger han
*
ERROR 位于第 1 行:
ORA-04080: 触发器 'HAN' 不存在


SQL>  drop trigger system. han;
 drop trigger system. han
*
ERROR 位于第 1 行:
ORA-01031: 权限不足

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -