【发布时间】:2010-12-22 16:59:12
【问题描述】:
您好,我正在尝试在我的一张表中显示约束,但由于某种原因,我收到消息未选择行。下面是我创建的表格。
Create table Teams (
TeamID varCHAR2(4) constraint Teams_TeamID_PK Primary Key,
TeamName VARCHAR2(40)
);
这是我用来显示我的约束的代码。
SELECT constraint_name,
constraint_type,
search_condition
FROM USER_CONSTRAINTS
WHERE table_name = 'Teams';
我是一个菜鸟,所以我想确保我明白哪里出了问题。我试图删除表,认为我的约束没有受到影响——我没有,也没有在创建表时收到任何错误,并且我在另一个表中引用 TeamID。因此,当我尝试删除表格时,我会收到一条错误消息,这正是我所希望的。
【问题讨论】:
-
您的问题让我印象深刻,因为您以不同的用户身份执行此操作和/或在创建表时未提交事务。
-
CREATE TABLE 是在 Oracle 中执行时自动提交的 DDL。
-
不能删除被其他表引用的表,除非指定“CASCADE CONSTRAINTS”,即“DROP TABLE Teams CASCADE CONSTRAINTS”
标签: sql oracle constraints sqlplus