Oracle - SQL小宝典 下载本文

内容发布更新时间 : 2024/5/6 12:41:31星期一 下面是文章的全部内容请认真阅读。

说明:

1) 一个同义词(synonym)为任何表、视图、序列、过程、函数或包的别名。 2) 公用同义词命名为pulbic特殊用户组所持有,可为数据每一个用户所存取。 3) 一个专用同义词是包含在指定用户的模式中,仅为该用户和所授权的用户所使用。 4) 不同用户间原本必须使用user名.object名引用,公用同义词让所有用户可以通过同义词访问相应对象。 5) 注意:public同义词只是为数据库对象定义了一个公共的别名。其它用户能否通过此别名访问到相应数据库对象必须取决于权限管理。

2.2.删除数据库对象

2.2.1. 删除表

语法:

drop table 表名

例如: drop table student; 删除结构

说明: 1) 表中所有数据将被删除 2) 此前未完成的事务将被提交 3) 所有相关的索引被删除 4) 为DDL语句,一经执行不可撤消

2.1.2. 删除约束

语法: alter table table drop constraint constraint_name;

例如: alter table student drop constraint fk_stu;

删除主键约束的另一种方式:

语法:

alter table table drop primary key;

例如: alter table student drop primary key ;

? 删除级连约束

1. 在删除约束时,如果还存在与该约束相关联的其它约束,则删除操作会失败,此时可使

用cascade子句将其它关联约束一并删除。

例如:

create table empinfo( eid number(3) constraints empinfo_eid_pk primary key, ename varchar2(20) --- ); create table salary( eid number(3) references empinfo(eid) --- ); alter table empinfo drop constraints empinfo_eid_pk cascade;

2. 在删除表中字段时,如果该字段处于多字段联合约束条件(联合主键、联合唯一键、存

在参照当前字段的外键)中,则删除会失败,此时可使用cascade constraints子句将 与该字段相关的约束一并删除。 例如:

语法: drop (column [, column] ...) cascade constraints;

创建约束

create table record( student_id number(3), subject_id varchar2(20), record number(3), constraint record_stuId_subId_pk primary key(student_id, subject_id) ); 删除约束:

alter table record drop (student_id) cascade constraints ; ? 禁用约束

在alter table语句中,还可使用disable constraint子句禁用已有约束。也可使用cascade选项将相关联的约束也一并禁用。 语法:

alter table table disable constraint constraint_name [cascade];

创建约束:

create table student( sid number(10) , name varchar2(20), constraint student_sid_pk primary key(sid) );

禁用约束:

alter table student disable constraint student_sid_pk ;

? 启用约束

在alter table语句中,可使用enable constraint子句启用先前被禁用的约束。

语法:

alter table table enable constraint constraint_name;

创建约束:

create table student( sid number(10) , name varchar2(20), constraint student_sid_pk primary key(sid) );

禁用约束:

alter table student disable constraint student_sid_pk ;

启用约束:

alter table student enable constraint student_sid_pk ;

说明:

和关闭约束操作的情形有所不同,此时无法再使用cascade选项一并启 用相关联的其它约束。

2.1.3. 删除序列

语法: Drop sequence 序列名 说明: 操作者须是序列的所有者、或拥有drop 该sequence的权限。

2.1.4. 删除视图

例如:

drop view myview1;

2.1.5. 删除索引