【发布时间】:2015-08-11 16:07:51
【问题描述】:
是否可以在包含记录的现有表上的表列上创建唯一约束?
ALTER TABLE Persons ADD UNIQUE (P_Id)
如果表中有数据,而P_Id中的部分数据不是唯一的会怎样?
【问题讨论】:
-
通过搜索 Oracles 在线文档可以很容易地回答这个问题。或者只是自己尝试一下,如果你需要的话,在虚拟桌子上。
What have you tried?是一个常见问题,请不要让它成为Nothing? :( -
我没有安装 oracle 数据库。我尝试使用sqlfiddle.com 进行此操作,但出现了一些我认为与此无关的错误。
-
向我们展示您在 SQL Fiddle 中的尝试,并解决您的问题。
-
创建表人员(p_id VARCHAR(10)、城市 VARCHAR(10)、国家/地区 VARCHAR(10));插入人员(p_id,城市,国家)值(“一”,“二”,“三”);错误:ORA-00984:此处不允许列
-
您不应该在值周围使用双引号:
'one'而不是"one"等。您不小心使用了带引号的标识符。不过,这与您提出的问题无关。 SQL Fiddle 也很有用,但如果您想学习 Oracle,最好使用自己的数据库。您可以获得预先构建的虚拟机来玩,这样您就不必担心安装。
标签: sql database oracle oracle11g ddl