玩转Oracle第4讲

 

 

 

 

 

 

create table customer (customerId char(8) primary key,
name varchar2(20) not null,
address varchar2(30),
email varchar2(30) unique,
sex char(2) default '男' check (sex in('男','女')) ,
cardId char(18))
 
create table purchase (customerId char(8) references customer(customerid),
goodsId char(8) references goods(goodsid),
nums number(10) check (nums between 1 and 30),
primary key (customerId,goodsId))
 
 
alter table goods modify goodsName not null;
alter table customer add constraint aaa unique(cardId);
alter table customer add constraint aaabb check (address in('aaa','bbb'));
 
 
alter table goods modify goodsName not null;
alter table customer add constraint aaa unique(cardId);
alter table customer add constraint aaabb check (address in('aaa','bbb'));
 
如在department 表定义主键约束
create table department4
(dept_id number(2) constraint pk_department primary key,
name varchar2(12),loc varchar2(12));
--表级定义
create table employee2
(emp_id number(4),name varchar2(15),dept_id number(2),
constraint pk_employee primary key (emp_id) ,
constraint fk_department foreign key (dept_id)
references department4(dept_id));
 
 
 
create sequence my_seq             ---创建序列名
 start with 1                       ---1开始
 increment by 1                     ---每次增长1
 maxvalue 999999999 //NOMAXVALUE(不设置最多值)  ---最大值
 minvalue 1                         ---最小值
 cycle  //NOCYCLE -- 一直累加,不循环     ---循环
 nocache          ---缓存
 1开始,每次增长1,最大值为999999999,之后又循环从1开始.
 
 
 
 
 
create index 索引名 on 表名(列名)
//emp 的 ename
create index in_ename on emp(ename);
create index emp_idx1 on emp (ename,job);
create index emp_idx1 on emp (job,ename);
 
 
 
 
 
 
 
 
1. create user ken identified by ken
2. ① grant create session,create table to ken with admin option;② grandt create view to ken
 
 
 
 
显示对象权限
通过数据字段视图可以显示用户或是角色所具有的对象权限.
视图为 dba_tab_privs
sql>conn system/manger
sql>select distinct privilege from dba_tab_privs;
sql>select grantor,owner,table_name,privilege from  dba_tab_privs where grantee='BLAKE';
 
对象权限可以授予用户,角色,和public.在授予权限时,如果带有with grant option 选项,则可以将该权限转授给其它用户。但时要注意 with grant option选项不能被授予角色,
①grant select on emp to monkey
②grant update on emp to monkey
③grant delete on emp to monkey
④grant all on emp to monkey
 
 
①grant update on emp(sal) to monkey
②grant select on emp(ename,sal) to monkey
授予alter权限
sql>conn scott/tiger
sql>grant alter on emp to blake;
当然也可以用system,sys来完成这件事
授予execute权限
sql>conn system/manager
sql>grant execute on dbms_transaction to ken;
 
 
 
sql>conn scott/tiger@accp
sql>revoke select on emp from blake
请大家思考,jones能否查询scott.emp表数据.
 
 
 
 
 
 
 
sql>conn system/manger
sql>grant create session to 角色名 with admin option
sql>conn scott/tiger@myora1
sql>grant select on scott.emp to 角色名 [with grant option 不可带]
sql>grant insert,update,delete on scott.emp to 角色名
通过上面的步骤,就给角色授权了.
 
 
 
 
 
posted @ 2014-11-16 18:15  IT浪潮之巅  阅读(184)  评论(0)    收藏  举报
   友情链接: 淘宝优惠券