日期:2014-05-17  浏览次数:21383 次

ORACLE中關於CONSTRAIN語法的使用
有如下4個ORACLE語句,其中的CONSTRAIN的含意是什麼?
1\CREATE   TABLE   EMP(ID   NUMBER(10)   CONSTRAINT   EID   UNIQUE,NAME   VARCHAR2(15),SAL   NUMBER(5));
2\CREATE   TABLE   EMP(ID   NUMBER(10),NAME   VARCHAR2(15),CITY   VARCHAR2(50),CONSTRAIN   PRI_EMP   PRIMARY   KEY(ID));
3\CREATE   TABLE   EMP(ID   NUMBER(10),NAME   VARCHAR2(15),CITY   VARCHAR2(50),TERRITORY   NUMBER(10),CONSTRAIN   FOR_EMP   FOREIGN   KEY(CITY,TERRITORY)   REFERENCES   ON   PROVINCE(CITY,TERRITORY));
4\CREATE   TABLE   SAL_HIGH(ID   NUMBER(10),NAME   VARCHAR2(15),SAL   NUMBER(5),CONSTRAIN   CK_SAL   CHECK(SAL> 10000));
希望各位高手指點

------解决方案--------------------
CONSTRAINT的意思是‘约束’也就是sql语句的完整性,就是给某个字段加约束。
约束有:1,unique 唯一值约束 ;
    2,check 条件约束;
    3,forign key 外键约束。

------解决方案--------------------
4.Check约束
------解决方案--------------------
4.Check约束——在插入行或更新SAL时必须使SAL> 10000,否则无法插入行或更新SAL
------解决方案--------------------
有如下4個ORACLE語句,其中的CONSTRAIN的含意是什麼?
1\CREATE TABLE EMP(ID NUMBER(10) CONSTRAINT EID UNIQUE,NAME VARCHAR2(15),SAL NUMBER(5));----------唯一约束
2\CREATE TABLE EMP(ID NUMBER(10),NAME VARCHAR2(15),CITY VARCHAR2(50),CONSTRAIN PRI_EMP PRIMARY KEY(ID));------------主键约束(唯一且非空)
3\CREATE TABLE EMP(ID NUMBER(10),NAME VARCHAR2(15),CITY VARCHAR2(50),TERRITORY NUMBER(10),CONSTRAIN FOR_EMP FOREIGN KEY(CITY,TERRITORY) REFERENCES ON PROVINCE(CITY,TERRITORY));-----------------外键约束
4\CREATE TABLE SAL_HIGH(ID NUMBER(10),NAME VARCHAR2(15),SAL NUMBER(5),CONSTRAIN CK_SAL CHECK(SAL> 10000));--------------check约束
------解决方案--------------------
1、CREATE TABLE EMP(ID NUMBER(10) CONSTRAINT EID UNIQUE,NAME VARCHAR2(15),SAL NUMBER(5));--唯一约束
2、CREATE TABLE EMP(ID NUMBER(10),NAME VARCHAR2(15),CITY VARCHAR2(50),CONSTRAIN PRI_EMP PRIMARY KEY(ID));--主键约束(唯一且非空)
3、CREATE TABLE EMP(ID NUMBER(10),NAME VARCHAR2(15),CITY VARCHAR2(50),TERRITORY NUMBER(10),CONSTRAIN FOR_EMP FOREIGN KEY(CITY,TERRITORY) REFERENCES ON PROVINCE(CITY,TERRITORY));--外键约束
4、CREATE TABLE SAL_HIGH(ID NUMBER(10),NAME VARCHAR2(15),SAL NUMBER(5),CONSTRAIN CK_SAL CHECK(SAL> 10000));--CHECK约束
5、CONSTRAINT NN_COLNAME NOT NULL --非空約束