重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
直接revoke即可:
创新互联公司成立与2013年,是专业互联网技术服务公司,拥有项目网站设计制作、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元江陵做网站,已为上家服务,为江陵各地企业和个人服务,联系电话:18980820575
SQL revoke create any table,create any view,select any table,drop any table from scott;
execute执行后
可以回滚
commit提交后
不可以回滚
其实oracle提交数据是分两步操作的,第一步execute执行,第二步commit提交。对应的pl\sql也是要先点execute执行,执行后再点commit提交。
但是
commit提交后
可以用闪回查询恢复原来的数据
因为oracle会将近期的数据保存到快照中
如:
select
*
from
table_1
as
of
timestamp
to_timestamp('20080606
20:00:00','yyyymmdd
hh24:mi:ss');
这里'20080606
20:00:00'就是你想恢复数据到哪个时间状态
table_1是数据库的表名
这样查询到的数据就是执行更新操作之前的数据
如果没有提交,可以撤回,如果已经提交,则看是否有备份。 如果有备份,那么恢复数据库到另外的地方,然后此表恢复。
可以用rollback transaction来回滚和撤销,我也犯过好几次update后面没有加where条件的严重错误,幸好事先有备份,可以用覆盖的方式来恢复,所以后来我在执行任何一条update语句前都要写注释-别忘了加where条件。
这个只能使用事务了,具体是设置成不默认提交事务,此时所做的各种操作都没有反应到数据库中。这时,你可以rollback事务,撤销所有未提交的修改。不过,一旦你commit了的话,就真没办法撤销了。
撤销创建视图的权限如下,以dba用户登录:
revoke create view from scott;
你可以通过下面SQL语句查看自己版本的ORACLE的角色有那些权限,如
Select Privilege from ROLE_SYS_PRIVS where ROLE='CONNECT' (注意DBA登录)
或select privilege from dba_sys_privs where grantee like 'CONNECT';
PRIVILEGE
--------------------------------------------------------------------------------
CREATE SESSION
同样用这个语句查用户的权限
select privilege from DBA_SYS_PRIVS where grantee='SCOTT';
输入COMMIT;就代表确定
如果更新后你还没COMMIT;那输入rollback;就取消了
要是已经COMMIT;了想取消,那就麻烦一点,要用到flashback table功能闪回表,具体用法可以GOOGLE下