自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SQL Server,Oracle,DB2上約束建立語(yǔ)句對(duì)比

數(shù)據(jù)庫(kù) SQL Server Oracle
本文我們主要對(duì)SQL Server,Oracle,DB2上約束建立語(yǔ)句進(jìn)行了對(duì)比與總結(jié),包括建立NOT NULL約束、CHECK約束等,希望能夠?qū)δ兴鶐椭?/div>

上次我們介紹了:SQL Server,Oracle,DB2索引建立語(yǔ)句的對(duì)比,本文我們介紹一下SQL Server,Oracle,DB2上約束建立語(yǔ)句的對(duì)比,接下來(lá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ū)δ兴斋@!

【編輯推薦】

  1. SQL Server 2008數(shù)據(jù)庫(kù)手動(dòng)提交的設(shè)置
  2. SQL Server 2000層次數(shù)據(jù)查詢的實(shí)現(xiàn)方法
  3. 關(guān)于SQL Server 2008數(shù)據(jù)貨場(chǎng)的幾點(diǎn)介紹
  4. MyEclipse連接SQL Server 2008數(shù)據(jù)庫(kù)的操作方法
  5. Windows ServerCore上安裝SQL Server Denali CTP3
責(zé)任編輯:趙鵬 來(lái)源: CSDN博客
相關(guān)推薦

2011-08-17 21:49:55

建立視圖SQL ServerOracle

2011-08-17 20:48:25

索引建立語(yǔ)句非聚集索引唯一索引

2011-08-22 17:18:53

SQL ServerOracleDB2

2011-08-22 17:41:25

SQL ServerOracleDB2

2010-11-02 15:36:18

DB2建表語(yǔ)句

2010-09-06 15:13:05

DB2

2010-11-04 15:39:40

DB2 SQL語(yǔ)句

2011-05-17 09:40:18

SQL Server IBM DB2

2010-11-11 11:25:45

SQL UPDATE語(yǔ)

2010-11-04 11:39:47

2010-11-01 11:13:57

DB2表管理

2010-11-02 11:49:18

SQL SERVER連

2010-04-09 12:20:11

Oracle SQL

2010-11-02 15:56:42

DB2添加驗(yàn)證約束

2010-08-26 09:56:57

DB2SQL SERVER互連

2010-08-31 09:54:37

DB2Oracle

2010-09-07 10:29:34

DB2數(shù)據(jù)庫(kù)

2010-02-03 09:16:01

DB2

2010-08-02 14:30:29

DB2建立

2010-07-27 15:44:21

db2建立databa
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)