是否可以在Oracle Toad中进行配置以防止意外执行SQL删除(例如忽略删除和更新功能)
答案 0 :(得分:1)
据我所知,没有。
但是,为什么要打扰您呢?如果您删除了您不想删除的内容,(n_components,n_features)
将会一切正常。
还有,“偶然”是什么?你怎么“不小心”做
ROLLBACK
很多类型的输入,不能偶然 。
如果是关于工具栏的“删除”按钮,那么-可能是偶然的。我不确定您可以限制它。
但是,您可以通过创建数据库触发器(例如
)来禁止删除行delete from some_table where ...;
缺点是必须为每个表分别创建它。如果它适用于整个架构,那将是很好的选择(但不适用;我们无法在整个架构上创建这样的触发器):
SQL> create or replace trigger trg_bd_emp
2 before delete on emp
3 for each row
4 begin
5 raise_application_error(-20000, 'Not allowed');
6 end;
7 /
Trigger created.
SQL> delete from emp where ename = 'KING';
delete from emp where ename = 'KING'
*
ERROR at line 1:
ORA-20000: Not allowed
ORA-06512: at "SCOTT.TRG_BD_EMP", line 2
ORA-04088: error during execution of trigger 'SCOTT.TRG_BD_EMP'
SQL>
或者,您可以创建一个新用户,向其授予当前表的特权(例如SQL> create or replace trigger trg_bd_emp
2 before delete on scott.schema
3 for each row
4 begin
5 raise_application_error(-20000, 'Not allowed');
6 end;
7 /
before delete on scott.schema
*
ERROR at line 2:
ORA-30507: normal triggers cannot be based on a schema or a database
SQL>
,但不授予SELECT, INSERT, UPDATE
),然后让新用户操作数据,而不是所有者(谁可以用自己的数据做任何想做的事情。
答案 1 :(得分:0)
在“登录”窗口中,您会在左侧看到已保存的连接。有一个只读列。检查您希望保护的每个连接。这是一个核心选择,也将阻止您创建和插入。它可能比您想要的更具侵略性。