请问如何用oracle触发器实现不允许新增/删除表/增加/减少/修改字段类型

这篇具有很好参考价值的文章主要介绍了请问如何用oracle触发器实现不允许新增/删除表/增加/减少/修改字段类型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

请问如何用oracle触发器实现不允许新增/删除表/增加/减少/修改字段类型

给本帖投票

56211打赏收藏

 分享

 转发到动态举报

 写回复

性能测试中发现oracle11g数据库每天22点,oralce进程CPU占用率突增>>

11 条回复

 切换为时间正序

请发表友善的回复…

发表回复

microsoft_fly 2008-11-18

还是用权限控制比较好,触发器影响数据库性能,越复杂对性能影响越大

fuxiaoyang13 2008-11-18

路过!

hongqi162 2008-11-17

楼主说的似乎不是处理表数据,而是处理建表,删除/修改表结构的操作,还是通过权限控制比较好

wfqqwer5213 2008-11-17

CREATE OR REPLACE TRIGGER ddl_trigger
BEFORE CREATE OR ALTER OR DROP
ON SCHEMA

DECLARE
oper ddl_log.operation%TYPE;
sql_text ora_name_list_t;
i PLS_INTEGER;
BEGIN
SELECT ora_sysevent
INTO oper
FROM dual;

i := sql_txt(sql_text);

IF oper IN ('CREATE', 'DROP') THEN
INSERT INTO ddl_log
SELECT ora_sysevent, ora_dict_obj_owner,
ora_dict_obj_name, sql_text(1), USER, SYSDATE
FROM dual;
ELSIF oper = 'ALTER' THEN
INSERT INTO ddl_log
SELECT ora_sysevent, ora_dict_obj_owner,
ora_dict_obj_name, sql_text(1), USER, SYSDATE
FROM sys.gv_$sqltext
WHERE UPPER(sql_text) LIKE 'ALTER%'
AND UPPER(sql_text) LIKE '%NEW_TABLE%';
END IF;
END ddl_trigger;
/

wfqqwer5213 2008-11-17

DDL Trigger - Triggering Operations
BEFORE / AFTER ALTER
BEFORE / AFTER ANALYZE
BEFORE / AFTER ASSOCIATE STATISTICS
BEFORE / AFTER AUDIT
BEFORE / AFTER COMMENT
BEFORE / AFTER CREATE
BEFORE / AFTER DDL
BEFORE / AFTER DISASSOCIATE STATISTICS
BEFORE / AFTER DROP
BEFORE / AFTER GRANT
BEFORE / AFTER NOAUDIT
BEFORE / AFTER RENAME
BEFORE / AFTER REVOKE
BEFORE / AFTER TRUNCATE
AFTER SUSPEND

请问如何用oracle触发器实现不允许新增/删除表/增加/减少/修改字段类型,oracle,数据库

范佩西_11 2008-11-17

这可以用权限控制吗。只给select权限就可以了
如果实在要用触发器,给你个限制增删改的例子:

 
  1. create or replace trigger tr before insert or update or delete on act

  2. begin

  3. if updating or deleting or inserting

  4. then

  5. raise_application_error(-20001,'不允许增删改');

  6. end if;

  7. end;

sleepzzzzz 2008-11-17

 
  1. -- 试下

  2. Create table test(a number);

  3. Create trigger tri_test

  4. Before insert or update or delete

  5. On foo

  6. Begin

  7. Raise_application_error(-20001, 'You don’t have access to modify this table.');

  8. End;

  9. /

sleepzzzzz 2008-11-17

好奇怪的需求

wfqqwer5213 2008-11-17

CREATE OR REPLACE TRIGGER trg_drop_table
BEFORE DROP ON DATABASE
BEGIN
raise_application_error(num => -20000,
msg => '主机:' ||
SYS_CONTEXT('USERENV', 'HOST') ||
chr(13) || 'IP:' ||
SYS_CONTEXT('USERENV', 'IP_ADDRESS') ||
'试图删除' || ora_dict_obj_name() || '表');


END;


一个禁止drop的例子

hongqi162 2008-11-17

用权限控制一下不就可以了么,这些操作和触发器没有什么关系

BlueskyWide 2008-11-17

 回复

不允许新增/删除表
===============
界面层封住,Oracle用户名和密码不对外提供即可。


增加/减少/修改字段类型
====================
使用alter table add ...
alter table drop ...
修改字段可以使用先增加字段,然后删除来做。


如果Oracle用户名和密码别人知道了,只能通过职业道德来规范了。



[Quote=引用楼主 anning241 的帖子:]
急:
请问如何用oracle触发器实现不允许新增/删除表/增加/减少/修改字段类型
[/Quote]文章来源地址https://www.toymoban.com/news/detail-593290.html

到了这里,关于请问如何用oracle触发器实现不允许新增/删除表/增加/减少/修改字段类型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Verilog设计实现D触发器与JK触发器

    题目:         用Verilog实现以下电路:                 1. 带复位端的正边沿触发的D触发器;                 2.带复位端的正边沿触发的JK触发器。 包括sys_clk,复位信号sys_rst_n,输入信号key_in以及输出信号led_out; 采用行为级描述: testbench仿真代码编写:

    2024年04月28日
    浏览(78)
  • 使用D触发器实现8分频

    最近闲来无聊玩了一阵子FPGA,其中遇到一个经典的问题,就是用verilog实现8分频器。发现自己并不是很熟练,所以就以blog的形式记录一下,同时也分享给大家。 所需要的前提条件:由verilog语言基础,知道D触发器的逻辑 要知道,几乎所有的编程语言都由模块化的思想包含在

    2024年02月11日
    浏览(49)
  • (91)Verilog实现D触发器

    1)目录 2)FPGA简介 3)Verilog HDL简介 4)Verilog实现D触发器 5)结语 FPGA(Field Programmable Gate Array)是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路

    2024年02月04日
    浏览(36)
  • FPGA开发——VHDL实现各类触发器

    小编最近在学习时序电路的VHDL设计,通过此文对触发器和VHDL相关知识进行总结,以便日后进行复习、查阅。本文首先回顾了各类触发器的基本知识包括特性方程、状态图等,最后通过VHDL来实现各类触发器。 在实际的数字系统中往往包含大量的存储单元,而且经常要求他们在

    2024年02月04日
    浏览(50)
  • Quartus 实现 D 触发器及时序仿真

    目录 Quartus 实现 D 触发器及时序仿真 一.Quartus 输入原理图及时序仿真 1.创建工程 2.创建方框文件 3.编译原理图文件 4.创建 vwm 格式波形文件 5.时序波形仿真 二.用 Verilog 语言实现 D 触发器及时序仿真 1.编写Verilog 文件 2.查看生成的电路图 3.利用 Verilog 语言编写测试代码实现时序

    2024年02月04日
    浏览(46)
  • 例化4个JK触发器实现4位计数

            闲来无事打个嵌入式校赛玩玩,旨在用FPGA实现4位计数器,其功能包括上计、下计、置位、复位、暂停。         具体实现大概要先从JK触发器的功能表入手:              JK触发器在J、K两个引脚接的输入信号不同时可以分别代替SR锁存器、T触发器,这也是

    2024年02月03日
    浏览(38)
  • Multisim实现D触发器模拟异步计数器

    这里用到的元器件有: DIgital power (VCC)数字电源 DIGITAL-CLOCK 数字时钟 逻辑分析仪 (XLA) ground 数字地 SPST 单刀单掷开关 74HC74D_4V D触发器芯片 DCD_HEX 数码管(带译码器四位二进制输入) PROBE 电位探测灯 PB_DPST 弹簧式触发开关 SPDT 单刀双掷开关 先来说说D触发器的原理: 74HC74D

    2024年02月10日
    浏览(62)
  • 实操教程 | 触发器实现 Apache DolphinScheduler 失败钉钉自动告警

    作者 | sqlboy-yuzhenc 在实际应用中,我们经常需要将特定的任务通知给特定的人,虽然 Apache DolphinScheduler 在安全中心提供了告警组和告警实例,但是配置起来相对复杂,并且还需要在定时调度时指定告警组。通过这篇文章,你将学到一个简单的方法,无需任何配置,只需要在用

    2024年02月11日
    浏览(50)
  • Unity3D教程:触发器实现简单的场景跳转

    首先,需确保有一个想要跳转的目标场景。在本案例中,目标场景是ending。 第一步:创建一个碰撞体,放置在需要的触发场景跳转的位置。 第二步:删除多余的脚本,并且新建自己的脚本: 第三

    2024年02月12日
    浏览(56)
  • 脉冲触发的触发器(主从触发器)

    脉冲触发的动作特点: (1)触发器的翻转分两步动作。 第一步:当CLK以高电平为有效信号时,在CLK= 1期间主触发器接收输入端(S、R或J、K)的信号,被置成相应的状态,而从触发器不动。 第二步: CLK下降沿到来时从触发器按照主触发器的状态翻转,所以Q、Q’端状态的改变发生在

    2024年02月04日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包