12-其他数据库对象

合集下载

苏科大实验4 管理其他数据库对象

苏科大实验4  管理其他数据库对象

《Oracle 数据库管理》实验报告实验题目实验4 管理索引、视图、同义词和序列院系电子与信息工程学院专业计算机科学与技术(专转本)学生姓名张志虎学生学号 11200135103指导教师崔玉玲成绩日期:2014年5月27日实验4 管理索引、视图、同义词和序列一.实验目的(1) 掌握索引的建立、修改、查看、删除操作。

(2) 掌握视图的建立、查询、修改、删除操作。

(3) 掌握同义词的建立、查询、修改、删除操作,比较对同义词的操作与对原数据库对象的操作是否一致。

(4) 掌握序列的建立、查询、修改、删除操作,利用序列向数据库表中插入数据。

二.实验要求(1) 记录执行命令和操作过程中遇到的问题及解决方法,注意从原理上解释原因。

(2) 记录利用企业管理器管理索引、视图、同义词和序列的方法。

(3) 记录利用SQL*Plus和iSQL*Plus管理索引、视图、同义词和序列的命令。

三.试验内容1.创建索引(1) 利用企业管理器为医院表的医院名称创建索引,并以降序排列,索引名为索引名称:HOSPITAL_NAME_INDEX表名称:HOSPITAL表名称:降序(DESC)图1-1:企业管理器为医院表建索引(2)利用SQL*Plus或iSQL*Plus为员工表的员工姓名、员工性别、出生年月排序,以员工姓名升序、员工性别降序、出生年月降序排列,索引名为“staff_info_index”。

图1-2:SQL*Plus或iSQL*Plus为员工表建索引2.查看索引引图2-1:企业管理器查看system方案的索引(2)利用SQL*Plus或iSQL*Plus从DBA_INDEXES数据字典中查看员工医疗保险系统所有索引的信息。

SQL> SELECT index_name FROM DBA_INDEXES;图2-2:查询医疗保险系统所有索引信息(3) 利用SQL*Plus或iSQL*Plus从DBA_INDEXES数据字典中查看“staff_info_index”索引的信息。

第10章 其他数据库对象

第10章 其他数据库对象

3 Sept. 2008 Confidential
序列
序列是一种用于产生唯一数字列值的数据库对象。一般使用序 列自动地生成主码值或唯一键值。序列可以是升序或降序。 • 序列特点: – 可以为表中的记录自动产生唯一序列值。 – 由用户创建并且可被多个用户共享。 – 典型应用是生成主键值,用于标识记录的唯一性。 – 允许同时生成多个序列号,而每一个序列号是唯一的。 – 可替代应用程序中使用到的序列号。 – 使用缓存加速序列的访问速度。

通过该视图进行更新操作
UPDATE v_emp4 SET salary=salary+100;
3 Sept. 2008 Confidential
删除视图

删除视图的语法
DROP VIEW view;
3 Sept. 2008 Confidential
内联视图
内联视图(Inline View),是一个在SQL语句内可以使用的子查 询的别名。是一个命名的SQL语句,但不是真正的数据库的视 图对象。最常见的内联视图的例子就是主查询中的FROM子句 中,包含的是一个命名的子查询。 • 例10-8 内联视图的例子

该约束的条件为视图中WHERE条件,即“employee_id=141”, 如视图v_emp3想执行DML操作,不能把记录的employee_id字 段值改成其他编号(只能是141),如果违反了,执行出错,会 出现错误提示。
3 Sept. 2008 Confidential
WITH READ ONLY
Top-N分析(续)
ROWNUM是一个伪列。功能是在每次查询时,返回结果集 的顺序数。第一行显示为1,第二行为2,以此类推。 • 伪列是使用上类似于表中的列,而实际并没有存储在表中的 特殊对象。 • 对ROWNUM只能执行<、<=运算,不能执行>、>=或一个 区间运算Between..And等 。

Les12其它数据库对象

Les12其它数据库对象
其它数据库对象
Copyright © Oracle Corporation, 2001. All rights reserved.
目标
通过本章学习,您将可以 通过本章学习,您将可以:
• • •
创建, 维护, 创建 维护 和使用序列 创建和维护索引 创建私有和公有同义词
12-2
Copyright © Oracle Corporation, 2001. All rights reserved.
定义序列: 定义序列
CREATE SEQUENCE sequence [INCREMENT BY n] [START WITH n] [{MAXVALUE n | NOMAXVALUE}] [{MINVALUE n | NOMINVALUE}] [{CYCLE | NOCYCLE}] [{CACHE n | NOCACHE}];
方便访问其它用户的对象 缩短对象名字的长度
CREATE [PUBLIC] SYNONYM synonym FOR object;
12-22
Copyright © Oracle Corporation, 2001. All rights reserved.
创建和删除同义词

为视图DEPT_SUM_VU 创建同义词 为视图
12-5
Copyright © Oracle Corporation, 2001. All rights reserved.
创建序列
• •
创建序列 DEPT_DEPTID_SEQ为表 DEPARTMENTS 提 为表 供主键 不使用 CYCLE 选项
CREATE SEQUENCE dept_deptid_seq INCREMENT BY 10 START WITH 120 MAXVALUE 9999 NOCACHE NOCYCLE; Sequence created.

第05章其他数据库对象

第05章其他数据库对象

64
5.4 Web页 页
5.4.1 认识 认识Web页 页 • 数据访问页是Access 2003数据库中的一个对象 类型,它和其它的数据库对象(如窗体、报表、 查询和宏等)在性质上是完全相同的。但窗体 和报表是用来显示、编辑和汇总数据的,而数 据访问页则能够允许用户与Web之间进行数据 交换,它主要是用来阅读、编辑和汇总保存在 HTML页上的数据。
– 数据表窗体
5
5.1 窗体
• 5.1.1 认识窗体
– 图表窗体
6
5.1 窗体
• 5.1.1 认识窗体
– 数据透视表窗体
7
5.1 窗体
• 5.1.1 认识窗体
– 主/子窗体 子窗体
主窗体
子窗体
8
5.1 窗体
• 5.1.2 创建窗体
1.使用向导创建窗体 1) 自动创建窗体 例5-1 自动创建“课程一览窗体” 。
25
5.1 窗体
• 5.1.2 创建窗体
2.使用设计视图创建窗体 例5-6 使用控件建立如图5-35所示的“教师”窗体。
26
5.1 窗体
5.1.3 创建包含子窗体的窗体
• 创建子窗体有两种方法
– 一种是同时创建主窗体和子窗体 – 另一种是将已有的窗体添加到另一个窗体
• 说明
– 在创建主/子窗体之前,一定确保正确设置了表的关系
9
5.1 窗体
• 5.1.2 创建窗体
1.使用向导创建窗体 2) 窗体向导 例5-2 创建教师授课评价窗体,要求输出教师姓名、职称、课程名称、评 价结果。
10
5.1 窗体
• 5.1.2 创建窗体
1.使用向导创建窗体 2) 窗体向导 例5-2 创建教师授课评价窗体,要求输出教师姓名、职称、课程名称、评 价结果。

Oracle数据库-SQL+PLSQL-Less12-其它的数据库对象

Oracle数据库-SQL+PLSQL-Less12-其它的数据库对象

24

练习案例
4.在dept10表中的deptno列上创建一个非唯一索引deptno_idx。 SQL> create index deptno_idx on EMPLOYEE(deptno); Index created.
25

-------------------- ---------- ------------ ----------DEPT_NO_SEQ 200 10 60
23

练习案例
3.写一个脚本,往dept10表中插入两行信息,要求使用上面创建的序列来产生部 门号,并提示用户输入部门名称和部门地址。执行该脚本。 SQL> accept deptname prompt "input the department name:" input the department name:test SQL> accept location prompt "input the department location:" input the department location:test
19

删除索引
– 从数据字典中删除一个索引.
SQL> DROP INDEX index;
– 从数据字典中删除 EMP_ENAME_IDX 索引.
SQL> DROP INDEX emp_ename_idx; Index dropped.
– 要删除一个索引,必须是索引的拥有者,或 者具有 DROP ANY INDEX的权限.
2

所需知识点
创建序列基本语法 序列的管理
创建索引基本语法
索引创建条件 同义词创建
3

其他数据库对象

其他数据库对象

第六部分其他数据库对象
(3)创建序列: 1)创建升序序列: create sequence sequ_sid increment by 2 start with 10 maxvalue 100 cycle cache 10 2)创建降序序列: create sequence sequ_test1 increment by 2 start with 100 maxvalue 100 minvalue 1 cycle (4)序列值的访问: 与序列值的使用密切相关的伪列nextval和currval: 当序列被创建好后,则被调用为某些表生成 序列号。访问序列中序列值用sequencename.currval和sequencename.nextval。currval是返回序列 中当前的值,nextval是当前序列的值的下一个值。
第六部分其他数据库对象
1)在下列语句中可以使用currval和nextval: A、select语句中非子查询的目标列名列表中。 B、insert 语句中的子查询的select目标列名列表中。 C、insert 语句中values子句中。 D、update语句的set子句中。 2)在下列语句中不能使用currval和nextval: A、对视图查询的select目标列名的列表。 B、使用了distinct明理的select语句中。 C、select语句中使用了group by、having、或order by语句时。 D、在select、delete、update语句的子查询中。 E、在create table或者alter table语句中默认值表达式中。 注意:在第一次使用序列时,首先使用currval会报错,只有先使用了nextval后 才能使用currval。 (5)创建序列并使用序列值,使用序列值作为表中主键的值。(独立实现)。

MySQL数据库对象


控制流语句
WHILE语句
WHILE循环语句,判断条件成立与否,如果成立则循环执行程序体 语法:
WHILE 条件 DO … END WHILE
控制流语句
示例: CREATE PROCEDURE pro(IN x INT) BEGIN WHILE x<5 DO SELECT 'OK'; SET x=x+1; END WHILE; END;
数据库对象
查看视图:
SHOW TABLE STATUS WHERE COMMENT='VIEW';
更新视图
ALTER VIEW 视图名称 AS SELECT语句;
删除视图
DROP VIEW 视图名称;
数据库对象
视图的优点:
① 安全性更强,通过视图可以将一些数据隐藏,仅将视图中的数据提供给用户使用 ② 提高查询性能,将经常访问的数据提前保存在视图中,后续的数据查询可以直接在视图
数据库对象
➢ 存储过程
存储过程是一组为了完成特定功能的SQL语句集,经过编译后存储在数据库中,用户可 以通过存储过程的名称来调用并执行它
创建存储过程
CREATE PROCEDURE 存储过程名称(参数列表) BEGIN
程序体(SQL语句集) END;
数据库对象
存储过程的参数列表
用于定义存储过程的参数,每一个参数由3部分构成: 输入输出类型(IN、OUT、INOUT)、参数名称、参数类型 • IN类型的参数:是存储过程用于保存接收外部传入的数据 • OUT类型的参数:是存储过程用于保存输出到外部的数据 • INOUT类型的参数:可以灵活的根据需要,作为IN或OUT类型的参数来使用
数据库对象

其它数据库对象

同义词(Synonyms)是oracle 的对象,它是指向其它数据库表的指针。

当创建一个同义词时就指定了一个同义词名字(表的别名),当引用同义词名字时,oracle 服务器就会自动地用同义词定义的对象来代替同义词的名字。

有两种类型的同义词:Private 和Public私有同义词是在制定的模式中创建的,并且只允许拥有他的模式访问。

公共同义词由public 模式所拥有,所有的数据库模式都可以引用它。

使用同义词可以保护数据库对象的隐私。

创建同义词:Create[public | private ]synonym<同义词名字> for<表名>例如:创建同义词mytest 作为表mens1的别名cretae synonym mytest for system.mens1删除同义词:drop synonym <同义词名字>查看同义词:使用下列视图之一:Dba_SynonymsAll_SynonymsUser_Synonyms练习:为从Access数据库导入的”HealthCheck”表创建全局同义词health,使所有用户可以访问。

序列可以保证多个用户对同一张表进行操作时生成唯一的整数,通常用来做表的主键。

创建序列:create sequence <序列名字>start with<起始值>increment by<增长值>[MaxValue <最大值>][NoMaxValue] //没有上限例如:create sequence mySeqstart with 1increment 1删除序列:drop sequence <序列名字>修改序列:alter sequence <序列名字>[start with<起始值>][increment by<增长值>][MaxValue <最大值>]查看序列:使用下列视图之一:Dba_SequencesAll_ SequencesUser_ Sequences访问序列:CurVal返回序列的当前值NextVal返回序列的下一个值例如:select mySeq.NextVal,city from post视图一.概述视图是数据库中的一个对象,本身不存储数据,但它使用一个或多个表中的数据,相当于数据库表的一个窗口,它是一种逻辑表。

ACCESS练习题-第2章

ACCESS练习题第二章数据库和表一、选择题1、Access数据库中哪个数据库对象是其他数据库对象的基础?A)报表B)查询C)表D)模块2、某数据库的表中要添加internet站点的网址,则该采用的字段类型是A)OLE对象数据类型B)超级连接数据类型C)查阅向导数据类型D)自动编号数据类型3、某文本型字段的值只能是字母且不允许超过6个,则可将该字段的输入掩码属性定义为A)AAAAAA B)LLLLLLC)CCCCCC D)9999994、将所有字符转换为大写的输入掩码是A)> B)<C)0 D)A5、Access中表与表的关系都定义为A)一对多关系 B)多对多关系C)一对一关系 D)多对一关系6、NULL是指A)0 B)空格C)未知的值或无任何值 D)空字符串7、以下字符串符合Access字段命名规则的是A)!address!B)%addressC)[address] D) 'address'8、某数据库的表中要添加一个word文档,则该采用的字段类型是A)OLE对象数据类型 B)超级连接数据类型C)查阅向导数据类型 D)自动编号数据类型9、以下描述不符合Access特点和功能的是A)Access仅能处理Access格式的数据库,不能对诸如DBASE、FOXBASE、等格式的数据库进行访问B)采用OLE技术,能够方便创建和编辑多媒体数据库,包括文本、声音、图像和视频等对象C)Access支持ODBC标准的SQL数据库的数据D)可以采用VBA(Visual Basic Application)编写数据库应用程序10、Access数据库的设计一般由5个步骤组成,以下步骤的排序正确的是(P14)a.确定数据库中的表b.确定表中的字段c.确定主关键字d.分析建立数据库的目的e.确定表之间的关系A)dabec B)dabceC)cdabe D)cdaeb11、某字段中已经有数据,现要改变该字段大小的属性,将该字段大小重新设置为整数型,则以下所存数据会发生变化的是A)123 B)2.5C)-12 D)156312、在Access表中,可以定义三种主关键字,它们是A) 单字段、双字段和多字段 B) 单字段、双字段和自动编号C) 单字段、多字段和自动编号 D) 双字段、多字段和自动编号13、在Access数据库的表设计视图中,不能进行的操作是A) 修改字段类型 B) 设置索引 C) 增加字段D) 删除记录14、数据类型是A) 字段的另一种说法B) 决定字段能包含哪类数据的设置C) 一类数据库应用程序 D) 一类用来描述Access表向导允许从中选择的字段名称15、在Access数据库中,为了保持表之间的关系,要求在子表中添加记录时,如果主表中没有与之相关的记录,则不能在子表中添加该记录。

Oracle-数据库对象

8
访问序列
通过序列的伪列来访问序列的值
NEXTVAL 返回序列的下一个值 CURRVAL 返回序列的当前值
SQL> INSERT INTO toys (toyid, toyname, toyprice) VALUES ( toys_seq.NEXTVAL, ‘TWENTY’, 25);
SQL> INSERT INTO toys (toyid, toyname, toyprice) VALUES ( toys_seq.NEXTVAL, ’MAGIC PENCIL’, 75);
SQL> ALTER INDEX item_index REBUILD;
删除索引
SQL> DROP INDEX item_index;
22
唯一索引
唯一索引确保在定义索引的列中没有重复值 Oracle 自动在表的主键列上创建唯一索引 使用CREATE UNIQUE INDEX语句创建唯一索引
SQL> CREATE UNIQUE INDEX item_index ON itemfile (itemcode);
反向键索引
反向键索引反转索引列键值的每个字节 通常建立在值是连续增长的列上,使数据均匀地
分布在整个索引上 创建索引时使用REVERSE关键字
SQL> CREATE INDEX rev_index ON itemfile (itemcode) REVERSE;
SQL> ALTER INDEX rev_index REBUID NOREVERSE;
3
目标
数据库对象简介
Oracle 数据库对象又称模式对象 数据库对象是逻辑结构的集合,最基本的数据库
对象是表 其他数据库对象包括:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

进度表:时间主题20 分钟讲演20 分钟练习40 分钟总共12-2Copyright ©Oracle Corporation, 2001. All rights reserved.目标完成本课后, 您应当能够执行下列操作:•创建、维护和使用序列•创建和维护索引•创建私有和公有同义词课程目标在本课中,你将学习怎样创建和维护一些其它用途的数据库对象,这些对象包括序列、索引和同义词。

数据库对象许多应用程序要求使用唯一的数字作为主键的值。

你即可以在应用程序中构建代码来处理这种需求,也可以用一个序列来产生唯一的数字。

如果你想要增进某些查询的性能,你应该考虑创建一个索引。

你也可以用索引在列或列的集合上强制唯一性。

你可以用同义词为对象提供可替代的名字。

12-4Copyright ©Oracle Corporation, 2001. All rights reserved.什么是序列?序列:•是自动产生的唯一的数•是可共享的对象•典型的用途是创建一个主键值•可以代替应用程序编号•当使用高速缓存存储器时,访问序列值的效率提高什么是序列?序列是用户创建的数据库对象,序列可以被多个用户共享以产生唯一的整数。

序列的一个典型的用途是创建一个主键的值,它对于每一行必须是唯一的。

序列由一个Oracle 内部程序产生并增加或减少。

序列是一个节省时间的对象,因为它可以减少应用程序中产生序列程序的代码量。

序列号独立于表被存储和产生,因此,相同的序列可以被多个表使用。

创建序列用CREATE SEQUENCE语句自动产生序列数。

在语法中:sequence是序列发生器的名字n指定序列号之间的间隔,在这儿n是一个整数(如果该子句BYINCREMENT被省略,序列增量为1)START WITH n指定要产生的第一个序列数(如果该子句被省略,序列从1开始)MAXVALUE n指定序列能产生的最大值NOMAXVALUE 对于升序序列指定10^27为最大值,对于降序序列指定-1为最大值 (这是默认选项)n指定最小序列值MINVALUENOMINVALUE 对于升序序列指定1为最小值,对于降序序列指定-(10^26)为最小值 (这是默认选项)CYCLE|NOCYCLE 指定序列在达到它的最大或最小值之后,是否继续产生(NOCYCLE是默认选项)CACHE n|NOCACHE 指定Oracle服务器预先分配多少值,并且保持在内存中(默认情况下,Oracle服务器缓冲20个值)创建序列(续)幻灯片中的例子创建一个序列,并被命名为DEPT_DEPTID_SEQ,该序列用于DEPARTMENTS表的DEPARTMENT_ID列,该序列从120开始,不允许高速缓冲的,不循环。

如果序列用于产生主键值,不使用CYCLE选项,除非你有一个可靠的机制比序列循环更快地清除旧的行。

更多信息,见Oracle9i SQL Reference,“创建序列”注:序列不依赖于一个表,通常,你应该命名序列;可是序列可以被用在任何地方,而不管它的名字。

教师注释如果INCREMENT BY值是负数,序列是降序。

另外,ORDER | NOORDER选项可用,ORDER选项保证序列值按顺序产生,如果你将序列用于产生主键值它是不重要的,该选项仅与Parallel Server(并行服务)选项有关。

如果序列值被高速缓冲,如果系统故障它们将被丢失。

确认序列一旦创建了序列,它就被文本化在数据字典中。

因为序列是一个数据库对象,你可以在USER_OBJECTS数据字典表中识别它。

你也可以从USER_SEQUENCES数据字典视图中用选择确认序列的设置。

教师注释演示:12_dd.sql目的:举例说明USER_SEQUENCES数据字典视图和它的内容。

12-8Copyright ©Oracle Corporation, 2001. All rights reserved.NEXTVAL 和CURRVAL 伪列•NEXTVAL 返回下一个可用的序列值,它每次返回一个唯一的被引用值,即使对于不同的用户也是如此•CURRVAL 获得当前的序列值•在CURRVAL 获得一个值以前,NEXTVAL 对该序列必须发布使用序列在创建序列后,它产生连续的数给你在表中使用。

用NEXTV AL 和CURRV AL 伪列引用序列值。

NEXTV AL 和CURRV AL 伪列NEXTV AL 伪列用于从指定的序列中取回连续的序列数的下一个值。

你必须用序列名限定NEXTV AL ,当你引用sequence .NEXTVAL 时,一个新的序列数被产生并且当前的序列数被放入CURRV AL 。

CURRV AL 伪列被用于查阅当前当前用户刚才产生的序列数,NEXTV AL 必须被在 CURRV AL 可以被引用之前用于在当前用户的会话中产生一个序列数,你必须用序列名限定CURRV AL ,当sequence .CURRVAL 被引用时,最后返回给用户程序的值被显示。

12-9Copyright ©Oracle Corporation, 2001. All rights reserved.使用NEXTV AL和CURRV AL的规则你可以在下面的上下文中使用NEXTV AL和CURRV AL:一个不是子查询的一部分的SELECT语句的SELECT列表在一个INSERT语句中子查询的SELECT列表一个INSERT语句中的V ALUES子句一个UPDATE语句的SET子句你不能在下面的上下文中使用NEXTV AL和CURRV AL:一个视图的SELECT列表一个带DISTINCT关键字的SELECT语句一个带GROUP BY、HA VING或ORDER BY子句的SELECT语句 一个在SELECT、DELETE或UPDATE语句中的子句在CREATE TABLE或ALTER TABLE语句中的DEFAULT表达式更多信息,见Oracle9i SQL Reference,“伪列”部分和“创建序列”。

教师注释明确指出本页列出的规则。

使用序列幻灯片的例子在DEPARTMENTS表中插入一个新的部门。

在该例子中使用DEPT_DEPTID_SEQ序列产生一个新的部门号:你可以查看当前的序列值:SELECT dept_deptid_seq.CURRVALFROM dual;CURRVAL---------120现在设想你想要雇用雇员充当新部门的职员,对所有新雇员被执行的INSERT语句可以包含下面的代码:INSERT INTO employees (employee_id, department_id, ...)VALUES (employees_seq.NEXTVAL, dept_deptid_seq .CURRVAL, ...);注:前面的例子假定一个称为EMPLOYEE_SEQ序列已经被创建用来产生新的雇员号。

12-11Copyright ©Oracle Corporation, 2001. All rights reserved.使用序列•可以更快地访问缓存在存储器中的序列值•序列值可能产生间隙,由于:–一个回退发生–系统崩溃–一个序列被用于另一个表•如果带NOCACHE 创建序列,查询USER_SEQUENCES 表,可以查看下一个可用值缓存序列值在内存中缓冲序列可以对序列值更快地存取,在你第一次使用到序列时被移入缓存。

对于下一个序列值的每次请求从缓存的序列中找回。

在最后一个序列值被使用后,对于序列的下一个请求拉出另一个在内存中的序列缓存。

序列中的间隙尽管序列发生器发布无间隙的序列数,但因为这种行为不依赖于提交和回退,如果你回退包含一个序列的语句,该序列数将丢失。

另一个能在序列中导致间隙产生的事件是系统崩溃,如果序列在内存中缓冲值,那么,如果系统崩溃那些值将丢失。

因为序列不直接依赖于表,所以,相同的序列可以被用于多个表,如果你这样做了,每个表都将包含序列数的间隙。

查看下一个可用的序列值,而不增加它如果序列用带 NOCACHE 的选项创建的,就可以在序列值不增加的情况下用查询 USER_SEQUENCES 表的方法,查看下一个可用的序列值。

教师注释经常使用的序列用带缓存创建将增进效率,对于缓存的序列,没有办法找出下一个可用的序列将是什么,该值不实际获得和使用,因此,建议用户不要查找下一个序列值,而相信每次一个序列被用于一个 INSERT 语句时系统会提供一个唯一值。

修改序列如果序列达到MAXV ALUE限制,将再无来自序列的新值产生,并且你将收到一个序列已经超过MAXV ALUE的错误指示。

为了继续使用序列,你可以用ALTER SEQUENCE语句修改该序列。

语法ALTER SEQUENCE sequence[INCREMENT BY n][{MAXVALUE n | NOMAXVALUE}][{MINVALUE n | NOMINVALUE}][{CYCLE | NOCYCLE}][{CACHE n | NOCACHE}];在语法中:sequence是序列发生器的名字更多信息,见Oracle9i SQL Reference,“修改序列”。

12-13Copyright ©Oracle Corporation, 2001. All rights reserved.修改序列的原则•你必须是该序列的所有者,或者有ALTER 该序列的权限•只有未来的序列数受影响•为了以不同的数字重新开始一个序列,该序列必须被删除并且被重新创建•一些确认被执行修改序列的原则你必须是被修改序列的所有者,或者有ALTER 权限。

用ALTER SEQUENCE 语句,只有以后的序列数会受影响。

用ALTER SEQUENCE 语句,START WITH 选项不能被改变。

为了以不同的数重新开始一个序列,该序列必须被删除和重新创建。

一些验证被执行,例如,一个新MAXV ALUE 如果小于当前的序列值就不能用。

ALTER SEQUENCE dept_deptid_seq INCREMENT BY 20 MAXVALUE 90 NOCACHE NOCYCLE;ALTER SEQUENCE dept_deptid_seq *ERROR at line 1:ORA-04009: MAXVALUE cannot be made to be less than the current value删除序列使用DROP SEQUENCE语句从数据字典中删除一个序列。

你必须是被删除序列的所有者或者有DROP ANY SEQUENCE权限来删除它。

语法DROP SEQUENCE sequence;在语法中:sequence是序列发生器的名更多信息,见Oracle9i SQL Reference,“删除序列”。

相关文档
最新文档