我有表 T1
ID CHAR(10)
NAME CHAR(10)
SC CHAR(10)
取值为 0 或 1 取1时为无效标志
要求是 在SC 为1 时 NAME是唯一的,不能重复
ID CHAR(10)
NAME CHAR(10)
SC CHAR(10)
取值为 0 或 1 取1时为无效标志
要求是 在SC 为1 时 NAME是唯一的,不能重复
解决方案 »
- 请教大家一个查询出结果集合并的问题
- oracle decode 时间比较问题
- 关于oracle锁的问题
- 关于程序查询ORACLE库ERROR的问题
- 如何把excel文件数据导入到oracle数据库
- 行转列,列转行的问题
- ORA-00942: 表或视图不存在(数据库是导过来的)
- 同样条件的SQL语句在SQL SERVER 2000中使用可以,在ORACLE中怎么写的?
- SOS!!!在windows操作系统下安装运行的oracle 9i可否在Red Hat Linux 9 下安装运行?(在线解决马上结帖)
- ROWNUM怎么只能取得第一行记录
- 一条sql查询中断信息?
- PLSQL能否用对象类型定义一个变量
ID VARCHAR2(10) PRIMARY KEY,
NAME VARCHAR2(100),
SC VARCHAR2(10) NOT NULL
CONSTRAINT CK_SC CHECK (SC = 0 OR SC =1),
CONSTRAINT UNI_NAME_SC UNIQUE (NAME, SC)
);
--测试:
INSERT INTO T1 VALUES ('1','名字1','1');
--报错: 违反约束CK_SC
INSERT INTO T1 VALUES('2','名字2','2');
--报错:违反约束UNI_NAME_SC
INSERT INTO T1 VALUES('3','名字1','1');
--成功:符合条件
INSERT INTO T1 VALUES('4','名字2','1');