1.创建一个序列:create sequence myseq
start with 1
increment by 1
minvalue 1
maxvalue 30000 //cycle表示当序列增加30000,重新从1再开始,如果。
cyclenocachenocathe表示不缓存,[cache10:表示一次产生10个号供你使用,使用缓存产生号,优点是提高效率,缺点是可能产生跳号]nocache作用避免跳号。
使用。创建一张表:
create table1 test1 (id number primary key,name varchar2(32));
insert into test1 values(
insert into test1 values(
说明:myseq:表示序列名字,nextval:这是一个关键字。
可以在表中自动产生值。
2.sys使用scott的序列,从什么开始增长?答:接着增长。
insert into test1 values(
3.一般用于主键列或唯一列(unique);
4.可以使用序列名。currval来看当前序列到多少号。
select 序列名。 currval from dual.
5.什么时候使用sequence:
1.不包含子查询,的select语句。
语句的子查询中。
语句的values中!!!
的set中。
update表名列值=序列名。nextval where..
5.如果希望去查看序列。currval,必须先使用序列。nextval值,否则出错。
s**epointaa;回滚语句rollback to aa;直接回到设置保存点时候的内容。注意要是commit(提交)了,就不能回滚。可做多个保存点。
回了一次后,保存点就自动删除,回滚机会只有一次。
单列索引:create index 索引名 on 表名。
符合索引:create index 表名(列名1,列名2);
2.举例:创建索引。
create table users (name varchar2(30),age number,email varchar2(30)),create index inx_name on users2(name);
3.细节:1).在大表上建索引才有意义:
2).在where子句或是连接条件上经常引用的列上建索引。
3).select * from 表名 where 列名=’条件包’
索引的层次不要超过4层。
索引缺点:1.索引不是越多越好,索引占空间,增加表的1.2倍。
2.维护索引是有代价地,不恰当的索引不但于事无补,反而会降低性能。因为大量的索引在进行插入,修改和删除操作时比没有索引花费更多的系统时间。
3.索引的层次不要超过4层。
4.在逻辑类型字段上,或者指就是固定几种的列上也不要建立索引。
数据字典视图system_privilege_map
select*from system_privilege_map order by name;
显示所有系统权限:
oracle 用户和权限的管理。
执行特定类型sql命令的权利。
常用的有:create session 连接数据库 create table 建表。
create view 建试图create public synonym 同义词。
create procedure 建过程,函数,包 create trigger 触发器。
create cluster 建簇。
授权:带with admin option和不带with admin option
grant create session to ken with admin option [/带with admin option 就表示ken 可以把。
他得到的这两个权限,继续向别的用户**]
grant create table to ken with admin option;
grant create view to ken
因为create view 没带with admin option
所以ken能将create session和create table权限传给其他用户,而不能将create view传给其他用户。
**系统权限:
system-> ken->tom 权限传递。
使用system**ken的权限。
revoke 权限名称from用户。
**了ken权限 ken赋予tom的权限仍在,对象权限:访问其他对象的权利,oracle 给我们提供了17对象权限,可以通过如下指令,来查看(oba用户查看)语句:select distinct privilege from dba_tab_privs;
常用的有: alter修改 delete删除 select查询insert 添加。
update 修改 index 索引 references 引用 execute 执行。
grant 对象权限 on 数据库对象 to 用户名[with grant option]
grant 对象权限 on 数据库对象 to角色。
特别说明,可以把权限直接赋给角色。
案例说明:用户要操作表,则必须授予相应的对象权限。
希望monkey可以查询表的数据,怎样操作?
grantselect on to monkey;
希望monkey可以修改表的数据,怎样操作?
grant update on to monkey;
希望monkey可以删除表的数据,怎样操作?
grant delete on to monkey;
有没有更简单的方法,一次把所有权限赋给monkey?
grant all on to monkey;
**对象权限:
基本语法:revoke 对象权限on 方案,数据对象 from 用户。
对象的权限是级联**。
create user blake identified by m123.
create user jones identified by m123
scott 登陆,完成如下操作:
把对emp表的操作权利给blake
grant select on emp to blake with grant option;
**:revoke select on from blake;
包括blake授予其他用户的权限都**。
角色是一组权限的集合,目的是为了简化对权限的管理从而达到简单对用户的管理。
预定义角色。
oracle提供了33预定义角色,常用的是(connet,dba,resource)
select * from dba_sys_pribs where grantee='dba';
resource角色包含以下权限:
create cluster
createindextype
create table
create sequence
create type
createprocrdure
create trigger
注意:查询的时候,一定角色的名称要大写。
自定义角色。
oracle设计者,认为33种预定义角色可能不满足所有的需求,所以,可以使用自定义角色来解决。
导出表:expuserid=用户名/密码@数据库实例名 tables=(表名1,表名2。。。file=备份路径。
导出其他方案表,则需要dba的权限或是exp_full_database的权限,比如system就可以导出scott的表。
expuserid=用户名/密码@数据库实例名tables=(方案名。表名1,方案名。表名2。。)file=备份路径。
备份文件的后缀名一般是。dmp但是这不是必须的。
expmao/fdsa123@oracle tables=(goods,customer) file=c:/
expmao/fdsa123@oracle file=c:\xs_ log=c:\xs_ tables=(xs_kc)
导出方案:expmao/fdsa123@oracle owner=(方案1,方案2) file=备份路径。
创建语句级触发器。
create or replace trigger tri1
after insert on
begindbms_添加了一条’);
end;在某张表修改多条数据的时候提示多次’修改了数据’、
create or replace trigger tri2
after updata on
for each row——加上次句表示行级触发器。
begindbms_修改了一条数据’);
end;dml触发器。
create or replace trigger tri1
before delete on
beginifto_char(sysdate,’day’)in(‘星期日’,’星期六’) then
dbms_对不起,休息日不能删除员工)
raise_application_error(-20001,’对不起,休息日不能删除员工’);出错自定义错误号。
end;特别说明:raise_application_error这个过程,是oracle提供的,可以传入两个参数,第一个是错误号,第二个是提示信息。
ORACLE学习笔记
rac real application clusters 真实应用集群。ohs oracle http server sga system global area 系统全局区,是系统为实例分配的一组共享缓冲存储区,用于存放数据库数据和控制信息,以实现对数据库数据的管理和操作。实例 存取和控制数据数...
Oracle学习笔记
参数文件 记录了控制文件的位置,控制文件是一个非常小的二进制文件,最大。可以增长到 64mb,控制文件包括如下主要信息 数据库的名字,检查点信息,数据库创建的时间戳 所有的数据文件,联机日志文件,归档日志文件信息 备份信息等 有了这些信息,oracle 就知道那些文件是数据文件,现在的重做日志文件是...
ORACLE学习笔记
目录。oracla管理 1 1.登录sqlplus 1 1.1.sysdba 身份登陆 1 1.2.普通用户登陆sqlplus 1 2.常用命令 1 3.格式化提示符 2 4.查看系统状态 2 4.1.查看实例状态 2 4.2.查看表 2 5.关闭 启动 2 6.创建表空间 3 7.用户和权限 3 ...