Oracle笔记

--(1)得到t_User表的字段
select * from user_tab_columns where table_name='t_User';

--(2)得到t_User表的约束,包括主外键
select * from user_constraints where table_name='t_User';

--(3)得到t_User表的索引
select * from user_indexes where table_name='t_User';

--(4) 查询表所属的用户

-- 用 sys 用户登陆,例如:我要查询名为 EMP 的表,在哪些用户下有:

sys@TBWORA> CONN/AS SYSDBA已连接。

sys@TBWORA>SELECT table_name, ownerfrom dba_tables2where table_name='EMP';

-- (5)两条SQL的区别

select * from (select a.custom_no, b.debit_ac from custom a left join custdep b on a.custom_no = b.custom_no and b.dep_no = 'EE') t where t.debit_ac is null;

select a.custom_no, b.debit_ac from custom a left join custdep b on a.custom_no = b.custom_no and b.dep_no = 'EE' and b.debit_ac is null;


第一个是基于查询过的结果的查询,而第二个是基于一张表建立起的链接的查询。

第一个select语句从集合
(select a.custom_no, b.debit_ac
from custom a
left join custdep b
on a.custom_no = b.custom_no
and b.dep_no = 'EE')
里找出满足条件where t.debit_ac is null;的结果集。

第二个select语句从表custom a 和custdep b 找出满足条件
a.custom_no = b.custom_no
and b.dep_no = 'EE'
and b.debit_ac is null;
的结果集。

(6)Oracle有两个具有dba角色的用户,分别是sys与system,他们都可以以sysdba身份登录数据库。既然system具有dba角色,为什么还分配他sysoper身份?
1) 【sys】所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改。sys用户拥有dba,sysdba,sysoper等角色或权限,是oracle权限最高的用户。
【system】用户用于存放次一级的内部数据,如oracle的一些特性或工具的管理信息。system用户拥有普通dba角色权限。
2) 其次的区别,权限的不同。
【system】用户只能用normal身份登陆em,除非你对它授予了sysdba的系统权限或者syspoer系统权限。
【sys】用户具有“SYSDBA”或者“SYSOPER”系统权限,登陆em也只能用这两个身份,不能用normal。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值