oracle drop怎么用,Oracle Drop Table
oracle函数 的 Oracle Drop Table
在本教程中,将学习如何使用Oracle DROP TABLE语句删除现有的表。
Oracle DROP TABLE语句简介
要将表移动到回收站或将其从数据库中完全删除,请使用DROP TABLE语句:
DROP TABLE schema_name.table_name
[CASCADE CONSTRAINTS | PURGE];
在这个语句中:
首先,指出要在DROP TABLE子句之后删除的表及其模式。如果不明确指定模式名称,则该语句假定将从模式中删除该表。
其次,指定CASCADE CONSTRAINTS子句删除引用表中主键和唯一键的所有参照完整性约束。 如果存在这种引用完整性约束,并且不使用此子句,Oracle将返回错误并停止删除表。
第三,如果想删除表格并且一次释放与之关联的空间,指定PURGE子句。 通过使用PURGE子句,Oracle不会将表及其依赖对象放入回收站。
请注意,PURGE子句不允许您回滚或恢复删除的表。 因此,如果不希望敏感数据出现在回收站中,这很有用。
Oracle DROP TABLE示例
我们来看看使用DROP TABLE语句的一些例子。
1. 基本的Oracle DROP TABLE示例
以下语句为演示创建persons表:
CREATE TABLE persons (
person_id NUMBER,
first_name VARCHAR2(50) NOT NULL,
last_name VARCHAR2(50) NOT NULL,
PRIMARY KEY(person_id)
);
以下示例从数据库中删除person表:
DROP TABLE persons;
2. Oracle DROP TABLE CASCADE CONSTRAINTS示例
以下语句创建两个名为brands和cars的新表:
CREATE TABLE brands(
brand_id NUMBER PRIMARY KEY,
brand_name varchar2(50)
);
CREATE TABLE cars(
car_id NUMBER PRIMARY KEY,
make VARCHAR(50) NOT NULL,
model VARCHAR(50) NOT NULL,
year NUMBER NOT NULL,
plate_number VARCHAR(25),
brand_id NUMBER NOT NULL,
CONSTRAINT fk_brand
FOREIGN KEY (brand_id)
REFERENCES brands(brand_id) ON DELETE CASCADE
);
在这些表中,每个品牌有一个或更多的汽车,而每辆汽车只有一个品牌。
以下语句尝试删除brands表:
DROP TABLE brands;
Oracle发出以下错误:
ORA-02449: unique/primary keys in table referenced by foreign keys
这是因为brands表的主键当前由cars表中的brand_id列引用。
以下语句返回cars表的所有外键约束:
SELECT
a.table_name,
a.column_name,
a.constraint_name,
c.owner,
c.r_owner,
c_pk.table_name r_table_name,
c_pk.constraint_name r_pk
FROM
all_cons_columns a
JOIN all_constraints c ON
a.owner = c.owner
AND a.constraint_name = c.constraint_name
JOIN all_constraints c_pk ON
c.r_owner = c_pk.owner
AND c.r_constraint_name = c_pk.constraint_name
WHERE
c.constraint_type = 'R'
AND a.table_name = 'CARS';
要删除brands表,必须使用CASCADE CONSTRAINTS子句,如下所示:
DROP TABLE brands CASCADE CONSTRAINTS;
这个语句不仅删除了brands表,而且还删除了cars表中的外键约束fk_brand。
如果再次执行语句以获取cars表中的外键约束,则不会看到任何返回的行。
Oracle DROP TABLE PURGE示例
以下语句使用PURGE子句来删除cars表:
DROP TABLE cars purge;
一次删除多个表
Oracle不提供直接删除多个表的方法。 但是,可以使用以下PL/SQL块来执行此操作:
BEGIN
FOR rec IN
(
SELECT
table_name
FROM
all_tables
WHERE
table_name LIKE 'TEST_%'
)
LOOP
EXECUTE immediate 'DROP TABLE '||rec.table_name || ' CASCADE CONSTRAINTS'
END LOOP;
END;
/
该PL/SQL块将删除名称以TEST_开头的所有表。
要测试此代码,可以先创建三个表:test_1,test_2和test_3,如下所示:
CREATE TABLE test_1(c1 VARCHAR2(50));
CREATE TABLE test_2(c1 VARCHAR2(50));
CREATE TABLE test_3(c1 VARCHAR2(50));
然后,执行上面的PL/SQL块。应该看可以看到,上面创建的三个表均被删除了。
在本教程中,您已学习如何使用Oracle DROP TABLE语句从数据库中删除表。
oracle drop怎么用,Oracle Drop Table相关推荐
- oracle中drop和delete,oracle中delete drop truncate的用法和区别
数据库的运维中,经常会遇到delete drop truncate的操作,那么如何去把握它们的用法和区别呢? 比如当数据库空间爆满,已经增长到存储空间单个存储文件的最大值32G.你需要通过一些办法释放 ...
- Oracle 闪回特性(FLASHBACK DROP RECYCLEBIN)
--============================================== -- Oracle 闪回特性(FLASHBACK DROP & RECYCLEBIN) --= ...
- oracle怎样删除关键字,SQL DROP CONSTRAINT 关键字
SQL DROP CONSTRAINT 关键字 DROP CONSTRAINT DROP CONSTRAINT命令用于删除UNIQUE,PRIMARY KEY,FOREIGN KEY或CHECK约束. ...
- oracle强制drop用户,强制Oracle Drop全局临时表
在我们的项目中,我创建了一些全局临时表,如下所示: CREATE GLOBAL TEMPORARY TABLE v2dtemp ( id NUMBER, GOOD_TYPE_GROUP VARCHAR ...
- oracle full table scan,ORACLE优化之执行规划(1) - TABLE FULL SCAN/INDEX FULL SCAN
ORACLE优化之执行规划(1) - TABLE FULL SCAN/INDEX FULL SCAN TABLE FULL SCAN 全表扫描,表示表中所有记录都被访问到.如果表很大, 该操作对查询性 ...
- oracle表还原truncate,Oracle数据库执行truncate table操作后如何逆向恢复之前的状态...
概述:北京某国企客户 Oracle 11g R2 数据库误truncate table CM_CHECK_ITEM_HIS,表数据丢失,业务查询到该表时报错,此时发现数据库的备份不能用,表数据无法查询 ...
- oracle imp导入时出现skipping table
最近有同事在使用传统的imp工具导入数据时,总是提示收到skipping table的提示,也就是表被跳过,而不是被重建.即使是将目标数据库上的表对象删除,仍然无法导入.因此记录一下,供大家参考. 1 ...
- oracle更改密码机制,Oracle密码机制以及常用操作
Oracle 默认有3个用户: sys 密码:自定:system 密码:自定 :scott 密码:Tiger(默认锁定):注:用Sys用户登录须根 [as sysdba Oracle 默认有3个用户: ...
- oracle+cast函数+长度,oracle cast() 函数问题
oracle cast() 函数问题 关键字: oracle cast() 函数问题 SQL> create table t1(a varchar(10)); Table created. SQ ...
- oracle数据定义语句,oracle(sql)基础篇系列(3)——数据维护语句、数据定义语句、伪列...
oracle(sql)基础篇系列(三)--数据维护语句.数据定义语句.伪列 DML语句 insert 向表中插入新的记录 --三种插入方式 --(1)不写字段的名字,直接按照字段的顺序把值逐个往里插 ...
最新文章
- 设计模式学习1:设计模式简述和设计模式原则
- AI 一分钟 | 南京大学成立人工智能研究院;三星关联实体已收购 AI 搜索引擎创业公司Kngine的全部股份
- 单词个数统计上机实验
- oracle 11g 11.2.0.1 设置HuagePage导致TRC 变大 变多
- 计算机网络安全六要素,六要素教学在计算机网络教学中的探索与反思
- python opencv实现目标区域裁剪
- Keras笔记(一)关于Keras模型
- android 查询wifi信息的类,Android 获取wifi信息
- dataframe里面数据截取的规律
- VBA自定义方法 快捷键设置
- learn from 德国老师
- 国际信用卡VISA/MasterCard/AE/DC/JCB 卡号结构
- 2021最新Android常用开源库总结,最强技术实现
- 分类---逻辑回归(二分类)
- JavaWeb-简析MVC三层架构
- 网站本地化翻译,英文日文俄文互译
- 数据结构作业9(清览题库)
- 青岛啤酒与德国啤酒:纯爽背后的渊源与秘密
- TeamSpeak3服务器搭建
- uniapp app蓝牙打印_给编程器加装蓝牙串口模块,用手机APP操作打印信息进控制台...
热门文章
- a113 智能音箱芯片方案_智能音箱九大芯片方案商及其生产厂商和代表作品介绍...
- Fake Location(安卓)
- 【甄选靶场】Vulnhub百个项目渗透——项目十:stapler-1(文件上传,多方式提权)
- 时空大数据面临的挑战与机遇
- 计算机WORD列宽行高怎么设置,word2010表格列宽和行高怎么设置
- 如何在计算机中增加字体,电脑如何添加字体?WinXP系统新增个性字体的方法
- Android 获取日历日程事件
- Unity 使用AVProVideo插件加载并下载视频
- 【考试】二阶段2201班考试答案(做错一概不负责)
- OSChina 周五乱弹 —— 美团外卖程序崩溃的真相