偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

SQL Server,Oracle,DB2上約束建立語句對比

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

上次我們介紹了:SQL Server,Oracle,DB2索引建立語句的對比,本文我們介紹一下SQL Server,Oracle,DB2上約束建立語句的對比,接下來我們就開始介紹。

約束用于強制行數(shù)據(jù)滿足特定的商業(yè)規(guī)則(數(shù)據(jù)類型是強制列的數(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約束的幾個特點:

1.FOREIGN KEY:在表級定義時需要

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

3.ON DELETE CASCADE:級聯(lián)刪除選項

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上約束建立語句的對比就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!

【編輯推薦】

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

2011-08-17 21:49:55

建立視圖SQL ServerOracle

2011-08-17 20:48:25

索引建立語句非聚集索引唯一索引

2011-08-22 17:18:53

SQL ServerOracleDB2

2011-08-22 17:41:25

SQL ServerOracleDB2

2010-11-02 15:36:18

DB2建表語句

2010-09-06 15:13:05

DB2

2010-11-04 15:39:40

DB2 SQL語句

2011-05-17 09:40:18

SQL Server IBM DB2

2010-11-04 11:39:47

2010-11-11 11:25:45

SQL UPDATE語

2010-11-01 11:13:57

DB2表管理

2010-11-02 11:49:18

SQL SERVER連

2010-04-09 12:20:11

Oracle SQL

2010-08-31 09:54:37

DB2Oracle

2010-08-26 09:56:57

DB2SQL SERVER互連

2010-11-02 15:56:42

DB2添加驗證約束

2010-09-07 10:29:34

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

2010-07-27 15:44:21

db2建立databa

2010-08-02 14:30:29

DB2建立

2010-08-12 10:43:36

DB2 SQL移植
點贊
收藏

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