ITPUB??ì3
新一届的微软MVP评选已经开始,欢迎各位推荐!

标题: sg笔记四
离线 wisdomone1
西北苍狼
希望会员


精华贴数 0
个人空间 0
技术积分 2478 (635)
社区积分 60 (4475)
注册日期 2007-3-15
论坛徽章:5
授权会员生肖徽章2007版:牛数据库板块每日发贴之星数据库板块每日发贴之星数据库板块每日发贴之星 
      

发表于 2008-6-26 10:16 
控制用户访问
  对对象
  对资源
role类似于os的用户组

模式:就是用户拥有对象的集合,如表,索引等

系统权限:100多个 create user,create table
对象权限:grant select on sys.dba_uses to scott;
SQL> grant select on sys.dba_users to scott;

Grant succeeded.

SQL> conn scott/system;
Connected.
SQL> desc dba_users;





grant privs,privs to user|role|public  --public是特殊的role,role是用户和权限的中间层,用于简化管理权限的

SQL> create role manager;

Role created.

SQL> alter role manager identified by system;

Role altered.
SQL> grant manager to scott;

Grant succeeded.


只看该作者    顶部
离线 wisdomone1
西北苍狼
希望会员


精华贴数 0
个人空间 0
技术积分 2478 (635)
社区积分 60 (4475)
注册日期 2007-3-15
论坛徽章:5
授权会员生肖徽章2007版:牛数据库板块每日发贴之星数据库板块每日发贴之星数据库板块每日发贴之星 
      

发表于 2008-6-26 10:35 
对象权限表


                   table        view         sequence    procedure
alter              yes                        yes
delete             yes          yes
execute                                                  yes
index              yes
insert             yes          yes
references         yes          yes
select             yes          yes           yes
update             yes          yes


grant priv to role|user|public with grant option ---with grant option允许你可以把授给你的权再转授给其它人



SQL> conn scott/system;
Connected.
SQL> grant update(empno) on emp to test;

Grant succeeded.

SQL> conn test/system;
Connected.
SQL> update scott.emp set empno=20 where rownum<2;

1 row updated.


只看该作者    顶部
离线 wisdomone1
西北苍狼
希望会员


精华贴数 0
个人空间 0
技术积分 2478 (635)
社区积分 60 (4475)
注册日期 2007-3-15
论坛徽章:5
授权会员生肖徽章2007版:牛数据库板块每日发贴之星数据库板块每日发贴之星数据库板块每日发贴之星 
      

发表于 2008-6-26 10:46 
SQL> desc role_sys_privs;---一人角色所具有的权限,
Name                                      Null?    Type
----------------------------------------- -------- ----------------------------
ROLE                                      NOT NULL VARCHAR2(30)
PRIVILEGE                                 NOT NULL VARCHAR2(40)
ADMIN_OPTION                                       VARCHAR2(3)

SQL> select role,privilge,admin_option
  2  from role_sys_privs where rownum<10;
select role,privilge,admin_option
            *
ERROR at line 1:
ORA-00904: "PRIVILGE": invalid identifier


SQL> c/privilge/privilege/
  1* select role,privilege,admin_option
SQL> r
  1  select role,privilege,admin_option         ---可以用break on 分组列
  2* from role_sys_privs where rownum<10

ROLE                           PRIVILEGE                                ADM
------------------------------ ---------------------------------------- ---
DBA                            ADVISOR                                  YES
                               AUDIT ANY                                YES
                               DROP USER                                YES
                               RESUMABLE                                YES
                               ALTER USER                               YES
                               CREATE JOB                               YES
                               ANALYZE ANY                              YES
                               BECOME USER                              YES
                               CREATE ROLE                              YES

9 rows selected.


SQL> desc role_tab_privs;---角色所具有对象权限
Name                                      Null?    Type
----------------------------------------- -------- ----------------------------
ROLE                                      NOT NULL VARCHAR2(30)
OWNER                                     NOT NULL VARCHAR2(30)
TABLE_NAME                                NOT NULL VARCHAR2(30)
COLUMN_NAME                                        VARCHAR2(30)
PRIVILEGE                                 NOT NULL VARCHAR2(40)
GRANTABLE                                          VARCHAR2(3)



SQL> desc user_role_privs;----用户可以使用的角色信息
Name                                      Null?    Type
----------------------------------------- -------- ----------------------------
USERNAME                                           VARCHAR2(30)
GRANTED_ROLE                                       VARCHAR2(30)
ADMIN_OPTION                                       VARCHAR2(3)
DEFAULT_ROLE                                       VARCHAR2(3)
OS_GRANTED                                         VARCHAR2(3)

SQL> select username,granted_role,admin_option,default_role,os_granted
  2  from user_role_privs;

USERNAME                       GRANTED_ROLE                   ADM DEF OS_
------------------------------ ------------------------------ --- --- ---
TEST                           CONNECT                        NO  YES NO
TEST                           DBA                            NO  YES NO
TEST                           RESOURCE                       NO  YES NO


只看该作者    顶部
离线 wisdomone1
西北苍狼
希望会员


精华贴数 0
个人空间 0
技术积分 2478 (635)
社区积分 60 (4475)
注册日期 2007-3-15
论坛徽章:5
授权会员生肖徽章2007版:牛数据库板块每日发贴之星数据库板块每日发贴之星数据库板块每日发贴之星 
      

发表于 2008-6-26 16:48 
007-401ĩ
---对集合操作
并集 union (对数据排序和去除重复数据),union all相反
差集 minus
交集  intersect

SQL> create table un1(a int,b varchar2(10));---在union中,列数据类型只要兼容就可以了

Table created.

SQL> create table un2(a int,b varchar2(15));

Table created.

SQL> insert into un1 values(1,'szy');

1 row created.

SQL> insert into un2 values(2,'sexx');

1 row created.

SQL> commit;

Commit complete.

SQL> select * from un1
  2  union
  3  select * from un2;

         A B
---------- ---------------
         1 szy
         2 sexx

SQL> create table un3(a int,b int);

Table created.

SQL> insert into un3 values(4,8);

1 row created.

SQL> commit;

Commit complete.

SQL> select * from un2
  2  union
  3  select * from un3;
select * from un2
       *
ERROR at line 1:
ORA-01790: expression must have same datatype as corresponding expression


SQL> select 1,2 from un1;---以列号显示

         1          2
---------- ----------
         1          2
a 添加sql命令
007-501开始


只看该作者    顶部
相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问