日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
SQLServer,Oracle,DB2上約束建立語(yǔ)句對(duì)比

上次我們介紹了:SQL Server,Oracle,DB2索引建立語(yǔ)句的對(duì)比,本文我們介紹一下SQL Server,Oracle,DB2上約束建立語(yǔ)句的對(duì)比,接下來(lái)我們就開(kāi)始介紹。

約束用于強(qiáng)制行數(shù)據(jù)滿足特定的商業(yè)規(guī)則(數(shù)據(jù)類型是強(qiáng)制列的數(shù)據(jù)滿足規(guī)則)

約束有五種類型:

NOT NULL

UNIQUE

PRIMARY KEY

FOREIGN KEY

CHECK

SQL SERVER上的NOT NULL約束:

 
 
 
  1. CREATE TABLE U_emp(  
  2. empno bigint,  
  3. ename VARCHAR(10) NOT NULL,  
  4. job VARCHAR(9),  
  5. mgr bigint,  
  6. hiredate DATE,  
  7. sal decimal(7,2),  
  8. comm decimal(7,2),  
  9. deptno decimal(7,2) NOT NULL); 

ORACLE上的NOT NULL約束:

 
 
 
  1. CREATE TABLE emp(   
  2. empno NUMBER(4),   
  3. ename VARCHAR2(10) NOT NULL,   
  4. job VARCHAR2(9),   
  5. mgr NUMBER(4),   
  6. hiredate DATE,   
  7. sal NUMBER(7,2),   
  8. comm NUMBER(7,2),   
  9. deptno NUMBER(7,2) NOT NULL); 

DB2上的NOT NULL約束:

 
 
 
  1. CREATE TABLE U_emp(  
  2. empno INTEGER,  
  3. ename VARCHAR(10) NOT NULL,  
  4. job VARCHAR(9),  
  5. mgr INTEGER,  
  6. hiredate DATE,  
  7. sal DECIMAL(7,2),  
  8. comm DECIMAL(7,2),  
  9. deptno DECIMAL(7,2) NOT NULL); 

SQL SERVER上的UNIQUE約束:

 
 
 
  1. CREATE TABLE U_dept(  
  2. deptno INTEGER,  
  3. dname VARCHAR(14),  
  4. loc VARCHAR(13),  
  5. CONSTRAINT dept_dname_uk UNIQUE(dname)); 

ORACLE上的UNIQUE約束:

 
 
 
  1. CREATE TABLE dept(   
  2. deptno NUMBER(2),   
  3. dname VARCHAR2(14),   
  4. loc VARCHAR2(13),   
  5. CONSTRAINT dept_dname_uk UNIQUE(dname)); 

DB2上的UNIQUE約束:

 
 
 
  1. CREATE TABLE U_dept(  
  2. deptno INTEGER,  
  3. dname VARCHAR(14) not null,  
  4. loc VARCHAR(13),  
  5. CONSTRAINT dept_dname_uk UNIQUE(dname)); 

SQL SERVER上的PK 約束:

 
 
 
  1. CREATE TABLE P_dept(  
  2. deptno INTEGER,  
  3. dname VARCHAR(14),  
  4. loc VARCHAR(13),  
  5. CONSTRAINT dept_dname_uk1 UNIQUE (dname),  
  6. CONSTRAINT dept_deptno_pk1 PRIMARY KEY(deptno)); 

ORACLE上的PK約束

 
 
 
  1. CREATE TABLE dept(   
  2. deptno NUMBER(2),   
  3. dname VARCHAR2(14),   
  4. loc VARCHAR2(13),   
  5. CONSTRAINT dept_dname_uk UNIQUE (dname),   
  6. CONSTRAINT dept_deptno_pk PRIMARY KEY(deptno)); 

DB2和的PK約束:

 
 
 
  1. CREATE TABLE P_dept(  
  2. deptno INTEGER not null,  
  3. dname VARCHAR(14) not null,  
  4. loc VARCHAR(13),  
  5. CONSTRAINT dept_dname_uk1 UNIQUE (dname),  
  6. CONSTRAINT dept_deptno_pk1 PRIMARY KEY(deptno)); 

SQL SERVER上的FK 約束:

 
 
 
  1. CREATE TABLE F_emp(  
  2. empno INTEGER,  
  3. ename VARCHAR(10) NOT NULL,  
  4. job VARCHAR(9),  
  5. mgr INTEGER,  
  6. hiredate DATE,  
  7. sal DECIMAL(7,2),  
  8. comm DECIMAL(7,2),  
  9. deptno INTEGER NOT NULL,  
  10. CONSTRAINT emp_deptno_fk FOREIGN KEY (deptno)  
  11. REFERENCES p_dept (deptno)); 

ORACLE上的FK約束:

 
 
 
  1. CREATE TABLE emp(   
  2. empno NUMBER(4),   
  3. ename VARCHAR2(10) NOT NULL,   
  4. job VARCHAR2(9),   
  5. mgr NUMBER(4),   
  6. hiredate DATE,   
  7. sal NUMBER(7,2),   
  8. comm NUMBER(7,2),   
  9. deptno NUMBER(7,2) NOT NULL,   
  10. CONSTRAINT emp_deptno_fk FOREIGN KEY (deptno)   
  11. REFERENCES dept (deptno));  

DB2上的FK約束:

 
 
 
  1. CREATE TABLE F_emp(  
  2. empno INTEGER,  
  3. ename VARCHAR(10) NOT NULL,  
  4. job VARCHAR(9),  
  5. mgr INTEGER,  
  6. hiredate DATE,  
  7. sal DECIMAL(7,2),  
  8. comm DECIMAL(7,2),  
  9. deptno INTEGER NOT NULL,  
  10. CONSTRAINT emp_deptno_fk FOREIGN KEY (deptno)  
  11. REFERENCES p_dept (deptno)); 

FK約束的幾個(gè)特點(diǎn):

1.FOREIGN KEY:在表級(jí)定義時(shí)需要

2.REFERENCES:指定主表及其主鍵列

3.ON DELETE CASCADE:級(jí)聯(lián)刪除選項(xiàng)

SQL SERVER上的CHECK約束:

 
 
 
  1. create table test ( deptno bigint constraint emp_deptno_ck check (deptno   
  2. between 10 and 99)) 

ORACLE上的CHECK約束:

 
 
 
  1. create table test ( deptno number(2) constraint emp_deptno_ck check (deptno  
  2. between 10 and 99))  

DB2 上的CHECK約束:

 
 
 
  1. create table test ( deptno number(2) constraint emp_deptno_ck check (deptno  
  2. between 10 and 99))  

關(guān)于SQL Server,Oracle,DB2上約束建立語(yǔ)句的對(duì)比就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!


新聞名稱:SQLServer,Oracle,DB2上約束建立語(yǔ)句對(duì)比
文章來(lái)源:http://m.5511xx.com/article/codhphe.html